Sklearn OneVsRestClassifier预测概率不等于1



所以我正在研究一个有6个结果类的多类问题。我正在使用OneVsRest分类器,并尝试使用.predict_proba检索每个类的预测概率。

我期望所有类别对每个观测的预测概率之和为一个,但事实并非如此。

predictor =  OneVsRestClassifier(xgb.XGBClassifier)
predictor.fit(X_train, y_train)
y_pred = predictor.predict_proba(X_test)
print(y_pred[1])

我的输出是:[0.11484083 0.02525082 0.02969465 0.58868223 0.09889702 0.03193117]

这是正确的吗?

来自OneVsRestClassifier的文档,this strategy consists in fitting one classifier per class. For each classifier, the class is fitted against all the other classes.。例如,如果你想用OneVsRestClassifier分类狗、猫和鸟,它将训练3个模型。

  • 第一个模型将被训练来检查你的数据是否为狗。
  • 第二个模型将被训练来检查你的数据是否为鸟类。
  • 第三个模型将被训练来检查你的数据是否为cat。

三个模型将作为二分类独立训练。因此,三个模型的概率之和不等于1。

相关内容

  • 没有找到相关文章

最新更新