首页 理论教育 Python中文文本分析之支持向量机

Python中文文本分析之支持向量机

时间:2023-11-06 理论教育 版权反馈
【摘要】:表8-10采用CHI特征选择方法的SVM分类混淆矩阵采用CHI的特征选择方法进行SVM分类,分类的查准率、查全率和F1值等评价结果见表8-11。

Python中文文本分析之支持向量机

1.支持向量机

支持向量机(support vector machine,SVM)是一种常用的分类算法,在各个领域都有较为广泛的应用。针对一个待分类的数据集,SVM的最终目的是在数据集的特征空间中找到一个能够将数据集按类分开的平面,这个平面称为分割超平面。

分割超平面就是找到一个将数据集各类别正确分开的图形。对于二维数据而言,可以用一条线来分开;对于三位数据而言,可以用平面来分开。但对于文本分类系统中的数据集,由于文本数量增多,对应的文本特征数量巨大、数据维度高,因此,用来分割的这种高维度的平面称为超级平面。因此,算法的原理就是要找到超级平面,这个超级平面能够将数据集正确分类。

2.SVM文本分类的实现过程

为了实现SVM文本分类,定义如下函数:

参数:

train_corpus_dir:训练集所在路径。

test_corpus_dir:测试集所在路径。

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

fs_num:需要选择特征数量。

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

返回值

SVM算法分类结果。

1)采用IG的特征选择方法实现SVM文本分类

参数:

特征选择方法:IG。

选择特征数量:1000。

特征权值计算:BOW。

采用IG的特征选择方法进行SVM分类,其结果混淆矩阵见表8-8。

表8-8 采用IG特征选择方法的SVM分类混淆矩阵

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

表8-9 分类报告

(www.xing528.com)

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

查准率对比:

查全率对比:

F1得分对比:

2)采用CHI的特征选择方法实现SVM文本分类

参数:

特征选择方法:CHI。

选择特征数量:1000。

特征权值计算:BOW。

采用CHI的特征选择方法进行SVM分类,其结果混淆矩阵见表8-10。

表8-10 采用CHI特征选择方法的SVM分类混淆矩阵

采用CHI的特征选择方法进行SVM分类,分类的查准率、查全率和F1值等评价结果见表8-11。

表8-11 分类报告

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

查准率对比:

查全率对比:

F1得分对比:

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

我要反馈