我很新于R语言,并卡在了一个相当愚蠢的问题上。
我正在使用rpart包来校准回归树,以进行分类和预测。
感谢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
方法,我只能获得新元素的预测比率,但我找不到一种方法来获取新元素所属的决策树叶节点。我认为应该很容易获取,因为预测方法必须已经找到了这个叶节点才能返回这个比率。
通过
class=
参数,可以给预测方法提供几个参数,但是对于回归树,所有参数似乎都返回相同的结果(决策树目标属性的值)。有人知道如何获得决策树中相应的节点吗?
通过分析使用
path.rpart
方法的节点,这将有助于我理解结果。