r - R Studio 中的 XGBoost 错误(“‘数据’具有类‘字符’和长度......”)
问题描述
我很难将我的数据拟合到 xgboost 分类器模型。当我运行这个:
classifier = xgboost(data = as.matrix(training_set[c(4:15, 17:18,20:28)]),
label = training_set$posted_ind, nrounds = 10)
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.
训练集数据既有连续数据也有分类数据,但所有分类数据都已被编码(并且相同的数据适合随机森林和朴素贝叶斯模型)。是否需要完成一些额外的步骤才能在 xgboost 模型中使用这些数据?
解决方案
确保您的“training_set”没有任何作为因素的列。如果您将分类变量编码为数字但将它们转换为因子,您将收到此错误。
推荐阅读
- c# - 删除绑定后编辑文件
- angular - 使用 Oidc-Client.js 在 signinRedirectCallback 中没有响应状态
- javascript - 使用来自服务器的表单数据在客户端上获取响应
- python - 在 Pyspark 中使用 xgboost 会出现 ImportError: cannot import name 'JavaPredictionModel'
- javascript - 你会如何向孩子解释 React Context?
- overriding - 尝试在 Odoo 12 中覆盖(noupdate=1)电子邮件模板
- excel - Excel:当另一台计算机上的用户在单元格中输入日期时,格式转换为字符串
- python - Django 教程 - 运行“python manage.py xyz”时笔记本电脑 Django 出现问题 -> AttributeError: 'Choice' object has no attribute 'model'
- javascript - 如何在reactjs中单击时从数组中添加和删除元素?
- c# - 如何处理来自不同 EF Core 架构/上下文的关系?