【发布时间】:2018-05-09 12:41:41
【问题描述】:
我知道朴素贝叶斯擅长二元分类,但我想知道多类分类是如何工作的。
例如:我之前使用朴素贝叶斯进行了文本分类,其中我对文本进行了向量化以找到文档中每个单词的概率,然后使用向量化的数据来拟合朴素贝叶斯分类器。
现在,我正在处理如下数据:
A、B、C、D、E、F、G
210、203、0、30、710、2587452、0
273、250、0、30、725、3548798、1
283、298、0、31、785、3987452、3
在上述数据中,有6个特征(A-F),G是具有值(0,1或2)的类
我在数据集中有近 70000 个条目,类别(输出)为 1、2 或 3。
将数据拆分为测试和训练数据后,我将训练数据拟合到 sklearn-GaussianNB 算法中。 拟合后,当我尝试预测测试数据时,它只是分类为 0 或 2。
所以,我的问题是,在文本分类期间,我在拟合 navie bayes 分类器之前执行了矢量化,在将 GaussianNB 分类器与训练数据拟合之前,我需要对上述数据进行数据预处理吗?可以预测多类(0,1 和 2),而不仅仅是(0 和 2)。
【问题讨论】:
-
如果您仅获得 2 个类别的预测,则在执行模型拟合之前尝试对特征进行归一化。似乎某些特征处于较高的数值范围内,这会影响训练(某些特征优于其他特征)
标签: machine-learning scikit-learn data-science naivebayes multiclass-classification