【发布时间】:2016-09-12 10:39:05
【问题描述】:
我看不到 XGBoost 的预测方法如何使用多个特征进行预测。
library(xgboost)
library(MASS)
sp500=data.frame(SP500)
label=sp500[,1]
lag1=sp500[-1,]
lag2=lag1[-1]
lag3=lag2[-1]
train=cbind(lag1,lag2,lag3)
model=xgboost(data=train[50:1000,],label=label[50:1000],
objective="reg:linear",booster="gbtree",nround=50)
predict(model,train[1,]) #returns an error, because it will not accept multiple columns
predict(model,t(train[1,]))
转置我的测试集不会返回错误,但是这是错误地使用了预测器,因为
predict(model,t(train[1:5,]))
只预测三个值而不是预期的五个
所以我的问题是,如何使用 XGBoost 使用与构建模型相同的功能进行预测?在此示例中,我构建了一个具有三个特征的模型,即 lag1、lag2 和 lag3,以预测响应返回。但是,当尝试使用predict 进行预测时,该函数的行为就好像它只使用一个特性,并且如果它使用多个值,比如我转置测试集时,它是如何利用这些值的。
【问题讨论】: