首页 理论教育 Python中文文本分析:朴素贝叶斯解析

Python中文文本分析:朴素贝叶斯解析

时间:2023-11-06 理论教育 版权反馈
【摘要】:,fn}的n个特征之间是相互独立的,则可获得2.朴素贝叶斯文本分类的实现过程为了实现朴素贝叶斯文本分类算法,我们定义如下函数:参数:train_corpus_dir:训练集所在路径。表8-14采用CHI特征选择方法的朴素贝叶斯文本分类混淆矩阵采用CHI的特征选择方法进行朴素贝叶斯文本分类,分类的查准率、查全率和F1值等评价结果见表8-15。

Python中文文本分析:朴素贝叶斯解析

1.朴素贝叶斯

朴素贝叶斯(Naive Bayers)是一种基于贝叶斯理论和特征条件独立假设分类方法,对于文本分类系统,根据给定的训练集,首先从特征条件独立假设,学习输入到输出的联合概率分布,再根据学习到的模型,对于给定的输入x,利用贝叶斯理论求出使得后验概率最大的y。

对于文本分类系统,设有样本数据集D={x1,x2,…,xs},C={c1,c2,…,cm}表示数据集D中包含的类别,x={f1,f2,…,fn}表示文本x包含n个特征,因此,对于任意文本x∈D,计算其属于类别ck(ck∈C)的概率表示为:

p(ck|x)

则根据贝叶斯定理可得:

朴素贝叶斯是基于特征独立假设,即文本x={f1,f2,…,fn}的n个特征之间是相互独立的,则可获得

2.朴素贝叶斯文本分类的实现过程

为了实现朴素贝叶斯文本分类算法,我们定义如下函数:

参数:

train_corpus_dir:训练集所在路径。

test_corpus_dir:测试集所在路径。

fs_method:特征选择方法,包括BOW、TF-IDF、IG、CHI等。

fs_num:需要选择特征数量。

f_weight:特征权值计算方法,包含BOW、TF-IDF。

返回值

返回朴素贝叶斯算法分类结果。

1)采用IG的特征选择方法实现朴素贝叶斯文本分类

参数:

特征选择方法:IG。

选择特征数量:1000。

特征权值计算:BOW。

采用IG的特征选择方法进行朴素贝叶斯文本分类,其结果混淆矩阵见表8-12。

表8-12 采用IG特征选择方法的朴素贝叶斯分类混淆矩阵

(www.xing528.com)

采用IG的特征选择方法进行朴素贝叶斯分类,分类的查准率查全率和F1值等评价结果见表8-13。

表8-13 分类报告

采用IG的特征选择方法进行朴素贝叶斯分类,对分类结果从微平均、宏平均和带权平均三个方面进行了对比分析,其结果如下:

查准率对比:

查全率对比:

F1得分对比:

2)采用CHI的特征选择方法实现朴素贝叶斯文本分类

参数:

特征选择方法:CHI。

选择特征数量:1000。

特征权值计算:BOW。

采用CHI的特征选择方法进行朴素贝叶斯文本分类,其结果混淆矩阵见表8-14。

表8-14 采用CHI特征选择方法的朴素贝叶斯文本分类混淆矩阵

采用CHI的特征选择方法进行朴素贝叶斯文本分类,分类的查准率、查全率和F1值等评价结果见表8-15。

表8-15 分类报告

采用CHI的特征选择方法进行朴素贝叶斯分类,对分类结果从微平均、宏平均和带权平均三个方面进行了对比分析,其结果如下:

查准率对比:

查全率对比:

F1得分对比:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈