2017-01-21 3 views
2

Вот мой код:XGBoost Ошибка при использовании функции xgboost

xgb <- xgboost(data = as.matrix(df_all_combined), 
       label = as.matrix(target_train), 
       eta = 0.1, 
       max_depth = 15, 
       nround=100, 
       subsample = 0.5, 
       colsample_bytree = 0.5, 
       seed = 1, 
       eval_metric = "auc", 
       objective = "binary:logistic", 
       num_class = 12, 
       nthread = 3) 

Получение ниже Ошибка:

Error in xgb.iter.update(bst$handle, dtrain, iteration - 1, obj) : [09:17:34] amalgamation/../src/objective/regression_obj.cc:90: Check failed: (preds.size()) == (info.labels.size()) labels are not correctly providedpreds.size=840756, label.size=70063

Может кто-нибудь помочь мне решить эту проблему? Не удалось выяснить проблему.

+0

Задайте вопрос другим описанием. Это поможет другим ответить. – hennamusick

+1

выглядит как-то о размере меток, не соответствующих размерам данных. Примеры данных, которые воспроизводят ошибку, помогают значительно повысить эффективность. – zacdav

+0

Это поможет, если вы предоставите небольшой образец данных. При необходимости измените имена любого чувствительного поля. –

ответ

2

Попробуйте удалить num_class = 12 из ваших параметров.

0

Ошибка говорит: labels are not correctly provided preds.size=840756, label.size=70063

Это означает, что число строк в df_all_combined не соответствует количеству строк в target_train

Так target_train должен иметь форму (840756,)

0

У Xgboost есть ошибка с классификацией многоклассов. Он использует preds.size() = info.labels.size() * num_classes, при использовании «auc», что неверно. Поэтому используйте любую другую метрику, такую ​​как merror.

Смежные вопросы