如何在预测中使用 rpart 的结果

机器算法验证 分类 rpart
2022-04-11 02:03:07

这可能是一个简单的问题,但我陷入了这个问题。我在 R 中使用递归分区 (rpart) 包来构建分类树。我从样本数据中生成了一棵树(用于测试 rpart)。我使用 rpart 的公式拟合样本数据

   fit =  rpart(formula, data=, method=,control=) 

这给了我分类树。我可以看到摘要,绘制树,绘制结果。但我的问题是如何使用它的结果进行预测?我想向树提供输入数据,并且我希望算法为输入提供正确的分类。但我认为除非我能预测,否则我与这棵树无关。我可能以错误的方式解释结果。请让我清楚这一点。

2个回答
fit = rpart(formula, data =, method =, control=)
fitVariablesUsed <- names(fit[,1:20])
preds <- predict(fit, data = newdata[,c(fitVariablesUsed)], type = c("prob"))

这将为每个观察返回一个概率矩阵。这意味着它将给出观察结果属于第 1 类、第 2 类等的概率。

确保所有列在您制作模型的矩阵和您将用来进行预测的矩阵之间正确排列。

我创建的变量 fitVaraiblesUsed 连接了 fit 数据框中的 20 个变量(例如),然后可以在新的数据数据框中使用它们,只要它们都被命名为相同的东西。

要基于与用于训练模型的数据帧不同的数据帧(例如测试数据帧)进行预测,您应该使用newdata参数 topredict()而不是data,因为data它不是真正的参数(文档)。

predict(output_of_rpart, type=, newdata=testDataFrame)