将Rpart()函数应用于R中的数据集后,使用:
print(R_Part_Train_Output)
我最终得到了这些结果:
1) root 3678351 1121767000 30.46863
2) Var1>=4.5 2889077 732026500 26.62383
4) Var2=E Europe,Eur Union,Irish Rep,Oth 1097632 163740000 19.31832
8) Var3< 133.5 495297 30775570 16.70123 *
9) Var3>=133.5 602335 126782600 21.47033 *
5) Var2=Africa,Aus NZ,Car, L Am,E Asia,M East C Asia,N America,S Asia 1791445 473812200 31.09997
10) Var3< 180.5 1042740 128509300 27.32818
20) Var3 < 110.5 410147 27371200 24.29461 *
21) Var3>=110.5 632593 94916560 29.29503 *
11) Var3>=180.5 748705 309808200 36.35303
22) Var4=B 99523 20792900 29.26750 *
23) Var4=A 649182 283252800 37.43929 *
3) Var1< 4.5 789274 190704300 44.54223
6) Var3< 168.5 374571 50560270 40.89094 *
7) Var3>=168.5 414703 130639800 47.84017 *
有没有办法将此回归树分割应用于除用于创建树本身的数据集之外的数据集。 我当然可以手动将这些数据分成这些部分,但是由于大量的观察结果,构建代码并应用它会很麻烦。内置函数会简单得多。
答案 0 :(得分:0)
是的,您可以使用预测。见?predict.rpart
library(rpart)
TreeModel = rpart(Petal.Width ~ ., iris[,1:4])
TreeModel
n= 150
node), split, n, deviance, yval
* denotes terminal node
1) root 150 86.5699300 1.199333
2) Petal.Length< 2.45 50 0.5442000 0.246000 *
3) Petal.Length>=2.45 100 17.8624000 1.676000
6) Petal.Length< 4.75 45 1.5200000 1.300000 *
7) Petal.Length>=4.75 55 4.7752730 1.983636
14) Petal.Length< 5.05 13 0.4676923 1.730769 *
15) Petal.Length>=5.05 42 3.2190480 2.061905 *
NewPoint = data.frame(Sepal.Length = 4.5, Sepal.Width=3.3, Petal.Length=0.2)
predict(TreeModel, NewPoint)
1
0.246