Skip to content

greeye/Naive_Bayes

Repository files navigation

基于朴素贝叶斯的新闻分类

本项目主要包括拉普拉斯平滑、 垃圾邮件过滤(Python3)、 新浪新闻分类(sklearn)。

一、拉普拉斯平滑

利用贝叶斯分类器对文档进行分类时,要计算多个概率的乘积以获得文档属于某个类别的概率,即计算p(w0|1)p(w1|1)p(w2|1)。如果其中有一个概率值为0,那么最后的结果也为0。拉斯拉普平滑是为了解决上问题的一种方法。本文使用的是加1平滑的拉斯拉普平滑,可以有效地解决0概率问题。

二、垃圾邮件过滤

使用贝叶斯对电子邮件进行分类的步骤:

  1. 收集数据:数据集来自新浪新闻
  2. 准备数据:将文本文件解析成词条向量
  3. 分析数据:检查词条的正确性
  4. 训练算法模型:使用 建立的 trainNB0()函数
  5. 测试算法模型:使用classifyNB(),并构建一个新的测试函数来进行计算文档集的错误率
  6. 数据导入模型分类:构建一个完整的程序对一组文档进行分类

三、新闻分类

  1. 数据准备阶段:使用jieba 对新闻中文语句进行切分。
  2. 文本特征选择:将所有的文本分为训练集和测试集样本,并对训练集中的所有单词进行词频统计和降序排序。
  3. 特征值筛选: 筛选掉一些对分类无影响的高频词
  4. 建模分类: Sklearn构建朴素贝叶斯分类器

About

基于朴素贝叶斯的新闻分类实战

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages