机器学习算法:利用支持向量机做文本分类
在机器学习领域,支持向量机(Support Vector Machine, SVM)是一种广泛应用的分类算法。它将数据映射到高维空间中,并找到一个最优超平面,将不同类别的数据分开。本文将利用Matlab实现基于支持向量机的文本分类。
- 数据预处理
首先需要对数据进行预处理。这里选用的是垃圾邮件分类数据集(SpamAssassin Public Corpus),该数据集包括了两个文件夹:spam和ham,分别代表垃圾邮件和非垃圾邮件。每个文件夹下面包含多个txt文件,每个txt文件代表一封邮件。我们需要将这些txt文件读进来,并进行预处理,包括:
(1)去掉标点符号和数字
(2)转成小写
(3)去掉停用词(如and、the等)
这里我们选用了常见的英文停用词表,可在网上搜索下载。
具体代码如下:
% 读取所有txt文件
spam_files = dir