XGBoost - XGBClassifier predict_proba (python) 的奇怪结果
XGBoost - Strange results with XGBClassifier predict_proba (python)
我正在使用 XBGClassifier 进行多 class 预测并得到奇怪的概率结果(显然不是我们可以预期的结果,例如与 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]]
有什么想法吗?
谢谢
添加到@bhaskarc 的相关评论中。
您的模型似乎没有在学习,因为它为所有 类 预测相同的概率。
另一个原因可能是您的学习率太小。
尝试将其更改为更大的值并重新检查预测:
learning_rate=0.001
您也可以尝试使用其他参数(max_depth、n_estimators、gamma、...)
我正在使用 XBGClassifier 进行多 class 预测并得到奇怪的概率结果(显然不是我们可以预期的结果,例如与 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]]
有什么想法吗?
谢谢
添加到@bhaskarc 的相关评论中。
您的模型似乎没有在学习,因为它为所有 类 预测相同的概率。
另一个原因可能是您的学习率太小。
尝试将其更改为更大的值并重新检查预测:
learning_rate=0.001
您也可以尝试使用其他参数(max_depth、n_estimators、gamma、...)