机器学习——垃圾邮件分类

目录

一、贝叶斯决策理论的分类方法

1.概念:

 2.条件概率

二、朴素贝叶斯实现垃圾邮件的步骤

 三、代码实现

1.收集数据:准备25封正常邮件,25封垃圾邮件

 2.完整代码

3.结果如下:

四、总结 

1.实验过程中发现发现无法读取存在D盘的文本数据,出现如下错误:

2.解决之后发现数据集出错:

3.朴素贝叶斯方法的优缺点 

一、贝叶斯决策理论的分类方法

1.概念:

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。基于概率进行预测的算法,用于分类。朴素贝叶斯是基于贝叶斯定理与条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

 2.条件概率

表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为:

P(A|B)=\frac{P(A\bigcap B)}{P(B)}

P(A) :概率中最基本的符号,表示 A 出现的概率。

P(B|A): 条件概率的符号,表示事件 A 发生的条件下,事件 B 发生的概率,条件概率是“贝叶斯公式”的关键所在,它也被称为“似然度”。

P(A|B) :条件概率的符号,表示事件 B 发生的条件下,事件 A 发生的概率,这个计算结果也被称为“后验概率”。

二、朴素贝叶斯实现垃圾邮件的步骤

(1)收集数据:提供文本文件。
(2)准备数据:将文本文件解析成词条向量。
(3)分析数据:检查词条确保解析的正确性。
(4)训练算法:计算不同的独立特征的条件概率。
(5)测试算法:计算错误率。
(6)使用算法:构建一个完整的程序对一组文档进行分类。

 三、代码实现

1.收集数据:准备25封正常邮件,25封垃圾邮件

其中一份的正常邮件内容如下:

 其中一封垃圾邮件内容如下:

 2.完整代码

import numpy as np
import re
import random

"""
函数说明:将切分的实验样本词条整理成不重复的词条列表,也就是词汇表
Parameters:
    dataSet - 整理的样本数据集
Returns:
    vocabSet - 返回不重复的词条列表,也就是词汇表
"""


def createVocabList(dataSet):
    vocabSet = set([]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值