使用MLR包时,列的空因子级别被删除

使用MLR包时,列的空因子级别被删除,r,machine-learning,svm,mlr,R,Machine Learning,Svm,Mlr,我这里有一个问题,当我尝试使用MLR包中的“makeClassifTask”来做SVM时,一个警告说列的空因子级别被删除。 我的代码是: install.packages("mlr") library(mlr) set.seed(1) sample=sample(2,nrow(cleaned_caravan_train),replace=T) train=cleaned_caravan_train[sample==1,] test=cleaned_caravan_train[sample==2

我这里有一个问题,当我尝试使用MLR包中的“makeClassifTask”来做SVM时,一个警告说列的空因子级别被删除。 我的代码是:

install.packages("mlr")
library(mlr) 
set.seed(1)
sample=sample(2,nrow(cleaned_caravan_train),replace=T)
train=cleaned_caravan_train[sample==1,]
test=cleaned_caravan_train[sample==2,]
makeClassifTask(data=train,target = "CARAVAN")
MLR包中的一个示例非常有效:

install.packages("mlbench")
library(mlbench)
data("BostonHousing")
data("Ionosphere")
makeClassifTask(data=iris,target="Species")

我不明白它们之间有什么不同。

StackOverflow有一个mlr标签,所以我投票将这个问题移到那里。请注意,您的示例是不可复制的。如果您没有添加可复制的示例,则可能在到达StackOverflow时关闭(我认为即使没有可复制的示例,您的问题也可以回答,但请记住).最有可能出现警告的原因是,在分割数据后,您的某些因子水平在列车集中不存在,但在整个数据集中存在。另外,您可能希望使用mlr重采样方法,而不是手动拆分数据?StackOverflow有一个mlr标记,因此我投票将此问题移到那里。请注意,您的示例不可复制。如果您没有添加可复制的示例,则可能在到达StackOverflow时关闭(我认为即使没有可复制的示例,您的问题也可以回答,但请记住).最有可能出现警告的原因是,在分割数据后,您的某些因子水平在列车集中不存在,但在整个数据集中存在。另外,您可能希望使用mlr重采样方法,而不是手动拆分数据?