[学习记录]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

 

posted @ 2018-07-13 21:33  冷血无情康纳酱  阅读(5322)  评论(0编辑  收藏  举报