2017-01-16 49 views
1

施加RPART()函数中的R数据集之后,使用:R:应用软件rpart回归树结果到其它数据

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.7* 
     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

看看'?predict.rpart' – hdkrgr

回答

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