朴素贝叶斯分类垃圾短信和R实现

Posted SimonCat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朴素贝叶斯分类垃圾短信和R实现相关的知识,希望对你有一定的参考价值。

以下为<机器学习与R语言>的学习笔记,如果需要文中提及的代码和数据,可以加我微信。

朴素贝叶斯算法思想起源18世纪数学家托马斯.贝叶斯(Thomas Bayes),基于贝叶斯定理和特征条件独立假设的分类方法,它通过特征计算分类的概率,选取概率大的情况,是基于概率论的一种机器学习分类(监督学习)方法。

 

 

1 贝叶斯方法的名词解释

联合概率: 联合概率指的是包含多个条件且所有条件同时成立的概率,记作P(X=a,Y=b)或P(a,b),有的书上也习惯记作P(ab)。

边缘概率:边缘概率是与联合概率对应的,P(X=a)或P(Y=b),这类仅与单个随机变量有关的概率称为边缘概率

条件概率:条件概率表示在条件Y=b成立的情况下,X=a的概率,记作P(X=a|Y=b)或P(a|b)

先验概率:知道原因推结果

后验概率:知道结果推原因

拉普斯估计给频率表上每个计数加上一个较小的数字,从而保证每一类中每一个特征发生的概率是非零的。

 

朴素贝叶斯分类垃圾短信和R实现


2 朴素贝叶斯的优势

优点:简单、快速、有效;能处理噪音和缺失值;需要训练的例子少;很容易获得一个预测的估计概率值;

缺点:依赖常用的错误假设。大量特征值并不理想。所有的特征都具有相同的重要性和独立性,然而实际上很难成立的。

3 实战:垃圾短信的识别

测试数据集包含5559条短信,第一列表示特征,表示其是否是垃圾短信,spam垃圾短信,而ham则表示不是。文本第二列为短信文字内容。如果是垃圾短信的概率大于非垃圾短信,则将其分为垃圾短信。

3.1 数据获取

使用str()查看文本结构,将是否垃圾短信变量转化为因子,使用table查看骚扰短信和非骚扰短信的条数。

 
   
   
 

以上是关于朴素贝叶斯分类垃圾短信和R实现的主要内容,如果未能解决你的问题,请参考以下文章

朴素贝叶斯分类之垃圾短信识别

朴素贝叶斯方法的R语言实现

R 基于朴素贝叶斯模型实现手机垃圾短信过滤

R语言:朴素贝叶斯算法实现对中文垃圾邮件的分类

朴素贝叶斯-垃圾邮件分类实现

Python机器学习之垃圾短信分类(用朴素贝叶斯算法的伯努利模型和多项式模型分类垃圾短信数据集SMSSpamCollection.txt)