Sto tentando di utilizzare il classificatore XGBoosts per classificare alcuni dati binari. Quando faccio la cosa più semplice e basta usare le impostazioni di default (come segue)XGBoost XGBClassifier Valori predefiniti in Python
clf = xgb.XGBClassifier()
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
ottengo ragionevolmente buoni risultati di classificazione.
Il mio prossimo passo era provare a sintonizzare i miei parametri. Indovinare dalla guida parametri a ... https://github.com/dmlc/xgboost/blob/master/doc/parameter.md Ho voluto iniziare dal default e lavorare da lì ...
# 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)
Il risultato è tutto ciò che viene previsto per essere una delle condizioni e non il contrario.
curiosamente se ho impostato
params={}
che mi aspettavo di darmi le stesse impostazioni predefinite per non nutrire alcun parametro, ottengo la stessa cosa che accade
Così Qualcuno sa che le impostazioni predefinite per XGBclassifier è ? in modo che possa iniziare la sintonizzazione?
Questa domanda incontra un comportamento simile ma nessuna risposta è stata data http://stackoverflow.com/questions/33470477/xgboost-prodict-method-returns-the-same-predicted-value-for-all-all-all-all- righe –