我对 R 很陌生,我遇到了一个非常愚蠢的问题。
我正在使用rpart包校准回归树,以便进行一些分类和一些预测。
多亏了 R,校准部分易于操作且易于控制。
#the package rpart is needed
library(rpart)
# Loading of a big data file used for calibration
my_data <- read.csv("my_file.csv", sep=",", header=TRUE)
# Regression tree calibration
tree <- rpart(Ratio ~ Attribute1 + Attribute2 + Attribute3 +
Attribute4 + Attribute5,
method="anova", data=my_data,
control=rpart.control(minsplit=100, cp=0.0001))
在校准了一个大决策树之后,我希望为给定的数据样本找到一些新数据的相应集群(以及预测值)。
该predict
功能似乎非常适合需要。
# read validation data
validationData <-read.csv("my_sample.csv", sep=",", header=TRUE)
# search for the probability in the tree
predict <- predict(tree, newdata=validationData, class="prob")
# dump them in a file
write.table(predict, file="dump.txt")
但是,使用该predict
方法,我只能获得新元素的预测比率,并且找不到获取新元素所属的决策树叶的方法。
我认为它应该很容易得到,因为 predict 方法必须找到那个叶子才能返回比率。
有几个参数可以通过class=
参数传递给 predict 方法,但是对于回归树来说似乎都返回相同的东西(决策树的目标属性的值)
有谁知道如何获取决策树中的相应节点?
通过使用该path.rpart
方法分析节点,这将有助于我理解结果。