gpt4 book ai didi

machine-learning - 使用高斯朴素贝叶斯的多类分类

转载 作者:行者123 更新时间:2023-11-30 08:59:07 31 4
gpt4 key购买 nike

我知道朴素贝叶斯擅长二元分类,但我想知道多类分类是如何工作的。

例如:我之前使用朴素贝叶斯进行了文本分类,其中我对文本进行了向量化以查找文档中每个单词的概率,然后使用向量化数据来拟合朴素贝叶斯分类器。

现在,我正在处理如下数据:

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。

所以,我的问题是,当我在文本分类期间拟合海军贝叶斯分类器之前执行矢量化时,在用训练数据拟合 GaussianNB 分类器之前,是否需要对上述数据进行数据预处理,以便它可以预测多类(0,1 和 2),而不是仅预测(0 和 2)。

最佳答案

I know that the Naive Bayes is good at binary classification, but I wanted to know how does the Multiclass classification works.

朴素贝叶斯中没有任何特定于二元分类的内容,它旨在很好地进行多类分类。

So, my question is as I performed vectorization before fitting the navie bayes classifier during text classification, is there and pre-processing of data I need to do for the above data before fitting the GaussianNB classifier with training data, so that it can predict multi-class(0,1 and 2) instead of only (0 and 2).

不,对于多类位没有预处理。然而,对于高斯位 - 顾名思义,该模型将尝试使高斯 pdf 适合每个特征。因此,如果您的特征不遵循高斯分布 - 它可能会失败。如果您可以计算出每个特征的转换(基于您拥有的数据)以使它们更像高斯分布,这将对模型有所帮助。例如,您的某些特征似乎是巨大数字,如果它们不遵循高斯分布,可能会导致严重的困难。您可能想要规范化数据,甚至放弃这些功能。

您的模型永远不会预测 1 的唯一原因是,在朴素贝叶斯假设下,并且根据提供的数据,它的可能性不足以被考虑。您可以尝试如上所述标准化特征。如果失败,您还可以通过向 sklearn 提供您自己的 prior 属性来人为地“超重”选定的类(通常根据数据估计为“遇到 X 类样本的频率”,并且如果您将其更改为更高的数字 - 类别将被认为更有可能)。

关于machine-learning - 使用高斯朴素贝叶斯的多类分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47491234/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com