对于一些例子,Sklearn MultinomialNB为某些类提供了1个概率?

时间:2018-02-02 11:39:28

标签: machine-learning scikit-learn text-classification naivebayes

我使用sklearn的MultinomialNB获取一些文本数据 数据包含12个类 及其分类任务 将 MultinomialNB 应用于 CounterVectorizer 后,我检查了几个示例的预测类概率。由于某些原因,一个类显示 1.0概率

  

[[3.91049692e-23,2.50074669e-28,1.85836050e-36,
        4.29028609e-37,9.58721828e-35,4.20270658e-38,
        1.21649822e-39,8.09756242e-39,1.09065133e-39,
        1.00000000e + 00,7.31365410e-22,1.68756182e-37]]

这是一些例子的概率, 10级给出1.0概率。我不知道这是怎么可能的。
我还在这个例子中检查了类10的特定特征概率(p(x / class10),其中x∈class10)。并且它的非零(当然是因为MultinomialNB中的平滑)。

如果有人知道为什么会出现这种情况,请分享。评论是否需要有关代码的更多信息。

PS:模型也正确预测了大量数据(其中73%)。大多数错误的预测数据都有1.0概率等级。

0 个答案:

没有答案