【发布时间】:2016-03-22 19:24:37
【问题描述】:
我正在使用 Spark ML 优化朴素贝叶斯多类分类器。
我有大约 300 个类别,我正在对文本文档进行分类。 训练集足够平衡,每个类别大约有 300 个训练样例。
一切看起来都不错,分类器在未见过的文档上以可接受的精度工作。但是我注意到,在对新文档进行分类时,分类器通常会为其中一个类别分配高概率(预测概率几乎等于 1),而其他类别的概率非常低(接近于零) .
这可能是什么原因?
我想补充一点,在 SPARK ML 中有一种叫做“原始预测”的东西,当我查看它时,我可以看到负数,但它们或多或少具有可比性,因此即使是概率高的类别也有可比较的原始预测分数,但我在解释这个分数时发现了困难。
【问题讨论】:
-
从逻辑上讲,有两种类型的未见文档,一种是可能推断未见过的特征,在预测前的向量变换过程中会被移除,另一种是已经属于训练的特征放。那么你看不见的文件放在哪里呢?
-
它们适合第二种情况 eliasah。
-
您是否尝试分析整个训练集和每个班级之间的单词分布?
-
我的意思是我正在使用相同的特征提取方法,即 HashingTF win 5000 作为特征编号。
-
不,我没有分析整个训练集上的单词分布。
标签: apache-spark machine-learning classification naivebayes apache-spark-ml