Я строю модель XGBoost для предсказания двоичного выбора. Тем не менее, у меня возникают проблемы при создании прогнозов. Как мне go от конца этого кода до фактических прогнозов на тестовых данных? Мой код имеет 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
Моя цель - создать матрицу путаницы, но когда я это делаю, она говорит мне, что данные и ссылки должны быть факторами одного уровня.