无法获取测试数据的输出,在R中的cu.summary数据集上

时间:2018-01-16 19:05:47

标签: r machine-learning

我已经从R中的cu.summary数据集创建了决策树,我得到了正确的输出。

但是当我尝试通过提供其他四个变量的值来预测里程数(训练数据中的因变量)时,我得到错误:“变量'可靠性'符合”有序“类型但是提供了类型”因子“ “

数据集: cu.summary

数据集中的变量:里程, 价钱, 国家, 可靠性, 类型

    libray(rpart)
    fit <- rpart(Mileage~Price + Country + Reliability + Type,method="anova",data=cu.summary)
    printcp(fit)
    plotcp(fit)
    summary(fit)
    par(mfrow=c(1,2))
    rsq.rpart(fit)
    plot(fit, uniform=TRUE)
    text(fit, use.n=TRUE , all=TRUE, cex=.8)
    post(fit,file = "Desktop/tree_reg.ps")
    plot(pfit, uniform=TRUE,main= "Regression tree")
    pfit<- prune(fit, cp=0.01160389)
    plot(pfit, uniform=TRUE,main= "Pruned regression Tree for mileage")
    text(pfit, use.n=TRUE, all=TRUE, cex=.8)
    post(fit,file = "Desktop/tree_pruned.ps")
    predict(fit,data.frame(Price=7000,Country="Japan",Reliability="worse",Type="Small"))

输出窗口

Output Window

请帮我调试这段代码

1 个答案:

答案 0 :(得分:0)

在运行Reliability之前,您需要将cu.summary列转换为有序因子(如predict中所示)。

tmp <- data.frame(Price=7000,Country="Japan",Reliability="worse",Type="Small")
tmp$Reliability <- as.ordered(tmp$Reliability)
predict(fit, tmp)