【发布时间】:2020-07-08 09:48:55
【问题描述】:
我正在为二元选择预测构建 XGBoost 模型。但是,我无法生成预测。我如何从这段代码的末尾到测试数据的实际预测? 我的代码有 7 个自变量和一个因变量,这是一个二元选择。
choice <- dataset_training$choiceprobX
set.seed(1234)
ind <- sample(2, nrow(dataset_training), replace=TRUE, prob=c(0.67, 0.33))
training <- as.matrix(dataset_training[ind==1, 1:7])
head(training)
testing <- as.matrix(dataset_training[ind==2, 1:7])
head(testing)
dataset_trainLabel <- dataset_training[ind==1, 8]
head(dataset_trainLabel)
dataset_testLabel <- dataset_training[ind==2, 8]
head(dataset_testLabel)
xgb.train <- xgb.DMatrix(data=training,label=dataset_trainLabel)
xgb.test <- xgb.DMatrix(data=testing,label=dataset_testLabel)
params = list(
booster="gbtree",
eta=0.01,
max_depth=5,
gamma=3,
subsample=0.75,
colsample_bytree=1,
objective="binary:logistic",
eval_metric="logloss"
)
xgb.fit=xgb.train(
params=params,
data=xgb.train,
nrounds=10,
nthreads=1,
early_stopping_rounds=10,
watchlist=list(val1=xgb.train,val2=xgb.test),
verbose=0
)
xgb.fit
我的目标是生成一个混淆矩阵,但是当我这样做时,它告诉我数据和参考必须是同一级别的因素。
【问题讨论】:
标签: r machine-learning xgboost