【发布时间】:2018-02-05 14:43:21
【问题描述】:
我正在尝试在单个测试数据点上使用 Xg 提升模型。
a <- data.frame(satisfaction_level=0.14,
last_evaluation=0.92,
number_project=2,
average_montly_hours=350,
time_spend_company=5,
Work_accident=0,
promotion_last_5years=1,
sales=factor("sales",levels=levels(Bdata$sales)),
salary=factor("medium",levels=levels(Bdata$salary)))
#Converting it into matrix format
str(a)
a <- as.data.frame.model.matrix(a)
当我使用模型进行预测时,我得到了以下错误
xgb.preds = predict(xgb.model, a)
xgb.DMatrix 中的错误(新数据,缺失 = 缺失): xgb.DMatrix: 不支持从列表构造
使用以下方法创建模型:
xgb.model <- xgboost(param =param, data = xgb.train.data,nrounds = 1500 ,eta = 0.05,subsample = 1 )
Bdata 包含:
head(Bdata)
satisfaction_level last_evaluation number_project average_montly_hours time_spend_company Work_accident left promotion_last_5years sales salary
1 0.38 0.53 2 157 3 0 1 0 sales low
2 0.80 0.86 5 262 6 0 1 0 sales medium
3 0.11 0.88 7 272 4 0 1 0 sales medium
4 0.72 0.87 5 223 5 0 1 0 sales low
5 0.37 0.52 2 159 3 0 1 0 sales low
6 0.41 0.50 2 153 3 0 1 0 sales low
>
【问题讨论】:
-
你能分享你的Bdata吗?你在使用
xgboost库吗?另外,添加如何创建xgb.model的代码。 -
请发布一个可重现的示例,说明您是如何做到这一点的。
-
@suchait 添加了编辑
-
但是我对预测单个数据点更感兴趣,因为我可以通过简单地使用 Predict the model on test data xgb.preds = predict(xgb.model, xgb.test.数据)
-
xgb.train.data 和 Bdata 一样吗?您是否在 Bdata 上训练您的模型?