Я использую интерфейс xgboots sklearn ниже для создания и обучения модели xgb-1.любой другой между оригинальным xgboost и sklearn XGBClassifier
clf = xgb.XGBClassifier(n_estimators = 100, objective= 'binary:logistic',)
clf.fit(x_train, y_train, early_stopping_rounds=10, eval_metric="auc",
eval_set=[(x_valid, y_valid)])
И модель xgboost может быть создан оригинальный xgboost как модель-2 ниже:
param = {}
param['objective'] = 'binary:logistic'
param['eval_metric'] = "auc"
num_rounds = 100
xgtrain = xgb.DMatrix(x_train, label=y_train)
xgval = xgb.DMatrix(x_valid, label=y_valid)
watchlist = [(xgtrain, 'train'),(xgval, 'val')]
model = xgb.train(plst, xgtrain, num_rounds, watchlist, early_stopping_rounds=10)
Я думаю, что все параметры одинаковы между моделью-1 и модели-2. Но оценка проверки отличается. Есть ли разница между моделью-1 и модель-2?
Я была такая же проблема. Я провел несколько часов, проходя через все документы и весь мой код, задал все параметры одинаково, а затем обучил. Тем не менее, я обнаружил, что 'xgb.XGBClassifier' дает 0.51 auc и' xgb.train' дает 0.84 auc. Понятия не имею почему. – josh
Интерфейс 'sklearn' не имеет некоторых параметров. Например, метод 'set_group' класса DMatrix, который имеет решающее значение для ранжирования, не имеет аналога в интерфейсе' sklearn'. – xolodec