Я пытаюсь использовать классификатор XGBoosts для классификации некоторых двоичных данных. Когда я делаю простую вещь и использовать значения по умолчанию (следующее)XGBoost XGBClassifier По умолчанию в Python
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 является ? так что я могу начать настройку?
Этот вопрос встречается с аналогичным поведением, но ответа не ответили http://stackoverflow.com/questions/33470477/xgboost-predict-method-returns-the-same-predicted-value-for-all- rows –