我有一个 csv 文件(298 行和 24 列),我想创建一个决策树来预测“薪水”列。我已经下载了树包并通过库函数添加。
但是当我尝试创建决策树时:
model<-tree(salary~.,data)
我收到如下错误:
*Error in tree(salary ~ ., data) :
factor predictors must have at most 32 levels*
那有什么问题?数据如下:
Name bat hit homeruns runs
1 Alan Ashby 315 81 7 24
2 Alvin Davis 479 130 18 66
3 Andre Dawson 496 141 20 65
...
team position putout assists errors
1 Hou. C 632 43 10
2 Sea. 1B 880 82 14
3 Mon. RF 200 11 3
salary league87 team87
1 475 N Hou.
2 480 A Sea.
3 500 N Chi.
它的 str(data) 的值:
'data.frame':263 obs。24 个变量:$ 名称:因子 w/ 263 个级别“Al Newman”,“Alan Ashby”,..:2 7 8 10 6 1 13 11 9 3 ...
$ bat : int 315 479 496 321 594 185 298 323 401 574 ...
$命中:int 81 130 141 87 169 37 73 81 92 159 ...
$本垒打:int 7 18 20 10 4 1 0 6 17 21 ...
$运行:int 24 66 65 39 74 23 24 26 49 107 ...
$runs.batted:int 38 72 78 42 51 8 24 32 66 75 ...
$走:int 39 76 37 30 35 21 7 8 65 59 ...
$years.in.major.leagues : int 14 3 11 2 11 2 3 2 13 10 ...
$ bats.during.career : int 3449 1624 5628 396 4408 214 509 341 5206 4631 ...
$ hits.during.career : int 835 457 1575 101 1133 42 108 86 1332 1300 ...
$ homeruns.during.career : int 69 63 225 12 19 1 0 6 253 90 ...
$ runs.during.career : int 321 224 828 48 501 30 41 32 784 702 ...
$ runs.batted.during.career: int 414 266 838 46 336 9 37 34 890 504 ...
$ walks.during.career : int 375 263 354 33 194 24 12 8 866 488 ...
$联赛:因子w / 2个级别“A”,“N”:2 1 2 2 1 2 1 2 1 1 ...
$除法:因子w / 2个级别“E”,“W”:2 2 1 1 2 1 2 2 1 1 ...
$ team : 因子 w/ 24 个级别 "Atl.","Bal.",..: 9 21 14 14 16 14 10 1 7 8 ...
$ 位置:因子 w/ 23 个级别 "1B","1O","23",..: 10 1 20 1 22 4 22 22 13 22 ...
$输出:int 632 880 200 805 282 76 121 143 0 238 ...
$助攻:int 43 82 11 40 421 127 283 290 0 445 ...
$错误:int 10 14 3 4 25 7 9 19 0 22 ...
$ 工资 : num 475 480 500 91.5 750 ...
$ League87 : 因子 w/ 2 个级别 "A","N": 2 1 2 2 1 1 1 2 1 1 ...
$ team87 : 因子 w/ 24 个级别 "Atl.","Bal.",..: 9 21 5 14 16 13 10 1 7 8 ...