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

Posted trickofjoker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[学习记录]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

技术分享图片

 

以上是关于[学习记录]sklearn贝叶斯及SVM文本分类的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯及经典实例讲解

朴素贝叶斯及案例实现

学习使用sklearn自带的贝叶斯分类器进行文本分类和参数调优

算法 | 使用sklearn自带的贝叶斯分类器进行文本分类和参数调优

使用sklearn自带的贝叶斯分类器进行文本分类和参数调优

朴素贝叶斯分类算法的sklearn实现