我使用 GridSearchCV 在 python 中使用 XGBoost 训练了我的数据,如下所示:
parameters = {'nthread':[6],
'objective':['binary:logistic'],
'learning_rate': [0.01, 0.1],
'max_depth': [5,8,13],
'n_estimators': [200,500,1000,3000],
'seed': [1337]}
xgb_model = xgb.XGBClassifier()
clf = GridSearchCV(xgb_model, parameters, n_jobs=-1,
cv = StratifiedKFold(shuffle=True,n_splits=5),
scoring='accuracy',
verbose=2, refit=True)
clf.fit(scaled_X_train.values, y_train)
在测试测试中,我得到了 0.9 的准确度,这是可以接受的。然而,当我预测概率时,predict_proba
我看到概率大多分别位于 0 和 1 类的 0-0.1 和 0.9-1 范围之间。
由于我尝试根据模型获得分数,因此那些密集的概率并不是那么有用。
那么这种密集概率分布的主要原因是什么?这是坏事吗?以及如何改进我的工作流程以使概率获得更广泛的分数范围?
提前致谢!