我正在尝试使用 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 的默认值是什么?这样我就可以开始调音了?