机器学习,如何通过GaussianNB高斯贝叶斯分类器做预测?
发布于 作者:苏南大叔 来源:程序如此灵动~

在自然语言处理方面,对于预测其实有很多的算法。那么,贝叶斯函数就是其中一个最常见的方法。上一篇文章里面,苏南讲述了使用多项式朴素贝叶斯函数进行机器学习的预测。本文使用另外一个贝叶斯分类器,叫做高斯贝叶斯分类器,来实现同一批评论文字的分类需求。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述使用一个高斯贝叶斯分类器,来实现文本的情感分析。测试环境:win10
,python@3.6.8
,sklearn@0.24.2
。
基本思路
基本需求及其方案实现,是基于多项式朴素贝叶斯函数的,可以参考文章:
在后一篇文章里,对于模型的fit
结果保存为模型文件,然后再次加载使用。可以参考文章:
在本篇文章里面,实现了对文本的情感分析模型的训练。第一次运行的时候,使用的是一部分训练集做训练。然后,把训练的结果保存下来,然后利用训练的结果,再次对文本进行分析。【本文的数据集的使用,其实是有些问题的】
准备数据
读取评价.csv
文件,其中内容字段做分词,评价字段读取成y
变量。如果程序报错找不到文件,可以参考:
有关分词的逻辑,可以参考:
高斯贝叶斯分类器
这里为了使用模型的导入导出的功能,硬生生的做个点改变。先用大部分训练集做了训练,再次运行的时候,就全部用于测试。而且,对于本文的需求来说,对于X
的处理实际上有些问题。
使用训练好的数据,再去测试新的数据的时候,需要对新的数据【使用原来数据集的词典】进行处理,这部分待后续文章描述。

获得结果
获得预测的结果:
获得预测结果的评分:
获得预测结果的单条可能性,测试集样本在各个类别上预测的几率的一个对数转化:

后面的np.around(result2*100, 2)
其实就是个可视化的过程,数据分为两列。第一列表示:数据为“好评”的概率,第二列表示数据为“差评”的概率。
相关文章
综述
目前,已经描述了两个用于机器学习的贝叶斯分类器了。整体看上去,高斯贝叶斯和多项式贝叶斯的使用方式,基本上差不多。对于普通人来说,没有太大区别。基本上就是换换函数名的关系罢了。更多机器学习的文章,可以点击:


