R Studio 中的 XGBoost 错误(“'data' 具有类 'character' 和长度......”)

use*_*304 3 r machine-learning matrix xgboost

我在将我的数据拟合到 xgboost 分类器模型时遇到了困难。当我运行这个:

classifier = xgboost(data = as.matrix(training_set[c(4:15, 17:18,20:28)]), 
  label = training_set$posted_ind, nrounds = 10)
Run Code Online (Sandbox Code Playgroud)

R Studio 告诉我:

Error in xgb.DMatrix(data, label = label, missing = missing) : 
'data' has class 'character' and length 1472000.
'data' accepts either a numeric matrix or a single filename. 
Run Code Online (Sandbox Code Playgroud)

训练集数据既有连续数据也有分类数据,但所有分类数据都被编码为这样(并且相同的数据适用于随机森林和朴素贝叶斯模型)。是否需要完成一些额外的步骤,以便我可以在 xgboost 模型中使用这些数据?

小智 5

确保您的“training_set”没有任何作为因子的列。如果您将分类变量编码为数字,但将它们转换为因子,则会出现此错误。