【发布时间】:2013-12-21 10:02:21
【问题描述】:
我是 R 数据挖掘算法的新手,我需要开发一个脚本来帮助我预测事件。 所以,我选择了一个决策树模型来帮助完成这项任务。
我的数据集有这样的结构:
_____________________________
ATTR1 | ATTR2 | ATTR3 | CLASS
Y | N | N | N
______|______|_______ |_______
这是我创建的脚本:
library(party)
myFormula <- CLASS ~ ATTR1 + ATTR2 + ATTR3
ind <- sample(2, nrow(myData), replace=TRUE, prob = c(0.7,0.3))
trainData <- myData[ind==1,]
testData <- myData[ind==2,]
energy_ctree <- ctree(myFormula, data=trainData)
testpred <- predict(energy_ctree, newdata= testData)
所有这些命令都可以正常工作。 所以,我怀疑是要预测新的数据行!
我已经调用函数 predict(energy_ctree ,newdata=newdataSet) 使用不包括 CLASS 列的新数据集(我想通过决策树模型预测找到)。
这是我得到的错误信息:
"Error in checkData(oldData, RET) :
Levels in factors of new data do not match original data"
那么,根据我之前创建的决策树模型来预测我的 newDataSet 的 de 类列的步骤是什么。
提前致谢。
卡洛斯·利马
【问题讨论】:
-
这意味着您的变量之一是一个因素,当您将数据一分为二时,该因素的一个水平根本没有出现在两组之一中(偶然)。您需要更仔细地拆分数据,以确保所有级别在两组中至少出现一次。
标签: r data-mining decision-tree predict