[学习记录]sklearn贝叶斯及SVM文本分类

贝叶斯分类首先准备好数据材料

 第一次获取20newsgroups时会花费数分钟时间来获取数据,通过获得target_names可以查看其中的类型。

为了进行分类,采用词袋模型的方法,即统计每篇新闻的单词,不考虑单词间的联系,仅仅考虑它们出现的频率。

11314代表有11314篇文章,130107意思为词典中一共有130107个单词,这11314篇文章中所有的单词都来自于此。

我们可以获得列表中每个对象(文章),并通过一些属性获得我们想要的信息

接下来进行贝叶斯分类,这里采用MultinomialNB

模型训练完成后对照测试集检查效果

对于这个模型的改进,可以有以下几种方法

1.词频反转,不过看起来不太明显

2.去除停用词

一下子提高3个百分点

最后是支持向量机

可以通过修改参数进行调整模型,参考http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html

原文地址:https://www.cnblogs.com/trickofjoker/p/9306851.html