如何在 R 中使用 predict 命令来验证我的训练模型决策树

Posted

技术标签:

【中文标题】如何在 R 中使用 predict 命令来验证我的训练模型决策树【英文标题】:How do I use predict command in R to validate my training model decision tree 【发布时间】:2020-04-08 00:35:24 【问题描述】:

我使用“party”库中的 ctree 函数创建了一个决策树训练模型,以帮助教师决定跟进哪些学生。现在我想将此训练模型应用于我的测试集,以根据学生有多少问题来预测教师是否应该“(1)干预”、“(2)监控学生进度”或“(3)不采取行动”以前回答过的问题,他们做对的百分比,以及他们需要多少提示。

library(party)

D1 <- read.csv(training data with 378 observations and 4 variables: 
               prior_prob_count, prior_percent_correct, hints_count, score)

HW1。根据学生分数创建一个分类结果变量,以使用“ifelse”语句向教师提供建议:

D1$advice &lt;- ifelse(D1$score &lt; 0.5, "1", ifelse(D1$score &lt; 0.6, "2", "3"))

如果学生的分数低于 0.5,老师应该干预 (1)。否则,如果学生的分数低于 0.6,教师应监控学生的进步 (2)。否则,如果学生的分数高于 0.6,教师不应采取任何措施 (3)。

HW2。构建预测“建议”的决策树:

D1$advice <- as.factor(D1$advice) 
score_ctree <- ctree(advice ~ prior_prob_count + prior_percent_correct + hints, data=D1)
plot(score_ctree)  # see image for visualization

plot(score_ctree)

HW3。上传新的测试数据并使用 predict() 命令根据老学生生成的树为新生生成预测建议

D2 <- read.csv(test data with 200 observations and 4 variables: 
               prior_prob_count, prior_percent_correct, hints_count, score)
D2$prediction <- predict(object = D2, model = score_ctree)

UseMethod("predict") 中的错误: 没有适用于“data.frame”类对象的“预测”方法

【问题讨论】:

【参考方案1】:

我认为你predict 的参数是错误的。我没有安装party 包,但看看其他predict 函数应该是:

D2$prediction <- predict(newdata = D2, object = score_ctree)

【讨论】:

以上是关于如何在 R 中使用 predict 命令来验证我的训练模型决策树的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中将 predict() 与 randomForest 一起使用时出错

R语言使用线性回归模型来预测(predict)单个样本的目标值(响应值response)实战

如何在新图像上使用 .predict_generator() - Keras

当缺少数据时,使用 R 随机森林预测新数据

R语言中的fitted() 和 predict()

在 R 中使用插入符号进行分类的 predict(model) 和 predict(model$finalModel) 之间的区别