我已经从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"))
输出窗口
请帮我调试这段代码
答案 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)