Я пытаюсь использовать классификатор XGBoosts для классификации некоторых двоичных данных. Когда я делаю простейшую вещь и просто использую значения по умолчанию (следующим образом)
clf = xgb.XGBClassifier()
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
Я получаю достаточно хорошие результаты классификации.
Следующим шагом я попытался настроить параметры. Угадывание из руководства по параметрам... https://github.com/dmlc/xgboost/blob/master/doc/parameter.md Я хотел начать с дефолта и работать оттуда...
# setup parameters for xgboost
param = {}
param['booster'] = 'gbtree'
param['objective'] = 'binary:logistic'
param["eval_metric"] = "error"
param['eta'] = 0.3
param['gamma'] = 0
param['max_depth'] = 6
param['min_child_weight']=1
param['max_delta_step'] = 0
param['subsample']= 1
param['colsample_bytree']=1
param['silent'] = 1
param['seed'] = 0
param['base_score'] = 0.5
clf = xgb.XGBClassifier(params)
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
В результате все будет предсказано как одно из условий, а не другое.
с любопытством, если я установил
params={}
который, как я ожидал, дал мне те же значения по умолчанию, что и не подавать какие-либо параметры, я получаю то же самое, что происходит
Так кто-нибудь знает, какие значения по умолчанию для XGBclassifier? так что я могу начать настройку?