首页 > 解决方案 > 如何在 R 中使用 predict 命令来验证我的训练模型决策树

问题描述

我使用“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 <- ifelse(D1$score < 0.5, "1", ifelse(D1$score < 0.6, "2", "3"))

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

硬件2。构建预测“建议”的决策树:

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

情节(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”)中的错误:没有适用于“predict”的适用方法应用于“data.frame”类的对象

标签: rdecision-treepredict

解决方案


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

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

推荐阅读