为什么xgboost会在data参数中返回数据类型错误?

问题描述

我差点this project from GitHub

但在last script

bst <- xgboost(data = as.matrix(train[,predictorNames]),label = train$outcome,verbose = 0,eta = 0.1,gamma = 50,nround = 50,colsample_bytree = 0.1,subsample = 8.6,objective="binary:logistic")
predictions <- predict(bst,as.matrix(test[,outputmargin=TRUE)

我收到此错误

xgb.DMatrix中的错误(数据,标签=标签,丢失=丢失):“数据” 类别为“字符”,长度为1261520。“数据”接受一个 数字矩阵或单个文件名。

但我无法解决该问题。有什么帮助吗?

解决方法

XGBoost无法接受字符数据。您忘记了那里的字符类型的东西。您需要删除它或以某种方式处理它(例如,一种热编码)