XGBoost-XGBClassifier的奇怪结果predict_proba(python)

时间:2018-10-16 06:24:33

标签: python xgboost

我正在使用XBGClassifier进行多类预测,并获得概率的奇怪结果(显然不是我们可以预期的,与使用SVM.SVC的预测有很大不同)。

代码:

 clf = XGBClassifier( learning_rate=0.00005, objective='multi:softprob')
[...]
 clf.fit(X, Y, eval_metric='mlogloss')
[...]
clf.predict_proba( data)

所有提供的概率都很奇怪:

INFO:root:[[0.16740549 0.16724858 0.16669136 0.1662821  0.16619198 0.16618045]]
INFO:root:[[0.16658343 0.16709101 0.16700828 0.16666834 0.16638225 0.16626666]]
INFO:root:[[0.16706458 0.16723593 0.16682376 0.16645898 0.16622521 0.16619155]]
INFO:root:[[0.1670872  0.16725858 0.16679683 0.16641934 0.16624773 0.16619037]]
INFO:root:[[0.16655219 0.1669247  0.16697693 0.16680391 0.1664368  0.16630547]]
INFO:root:[[0.16774052 0.16720766 0.16651934 0.1662414  0.16615131 0.16613977]]
INFO:root:[[0.16740549 0.16724858 0.16669136 0.1662821  0.16619198 0.16618045]]
INFO:root:[[0.16658343 0.16709101 0.16700828 0.16666834 0.16638225 0.16626666]]

有什么主意吗?

谢谢

1 个答案:

答案 0 :(得分:0)

要添加到@bhaskarc的相关评论中。

您的模型似乎没有学习,因为它预测所有类的概率相同。

另一个原因可能是您的学习率太低。

尝试将其更改为更大的值,然后重新检查预测:

learning_rate=0.001

您还可以尝试使用其他参数(max_depth,n_estimators,gamma等)