我有 5 个分类变量(v1-v5)和 1 个数值变量(v6),每个变量有 6 个以上的类别,我想将整个数据分成训练(70%)和测试(30%)。
我一直在安静地面对这个问题,因为我使用的是分类变量并且我使用的是随机抽样。每次我拆分数据时,我都会面临其中一个变量的一些问题。当我在这里预测时,由于数据级别不同或缺少测试集中的数据级别,因此我正在使用决策树构建模型。
如果您能建议我一些解决此类问题的聪明方法,那将有很大帮助。
我经历了许多堆栈溢出问题,但没有遇到与我类似的问题。
样本数据:
v1 v2 v3 v4 v5 v6 Target_var
cat-1 cat-5 cat-8 1 Level-1 2 1
cat-2 cat-6 cat-8 2 Level-2 2 1
cat-3 cat-5 cat-9 3 Level-3 3 0
cat-1 cat-6 cat-8 2 Level-1 3 0
cat-2 cat-5 cat-9 3 Level-1 5 1
cat-3 cat-7 cat-10 1 Level-2 6 0
cat-4 cat-5 cat-8 1 Level-1 6 1
示例代码:
set.seed(101)
dt <- sort(sample(nrow(total_data), nrow(total_data)*.7))
train<-total_data[dt,]
test<-total_data[-dt,]
#build decision tree models for testing purpose
tree <- rpart(Target_var~ ., data = train, method = "class")
pred.tree <- predict(tree, newdata = test, type = "class")
错误:
xlev = attr(object, : 因子 v3 有新的水平