基于python的垃圾邮件分类_python实现贝叶斯推断——垃圾邮件分类

理论

理论强推阮一峰大神的个人网站

1.贝叶斯推断及其互联网应用(一):定理简介

2.贝叶斯推断及其互联网应用(二):过滤垃圾邮件

非常简明易懂,然后我下面的代码就是实现上面过滤垃圾邮件算法的。

前期准备

数据来源

数据来源于《机器学习实战》中的第四章朴素贝叶斯分类器的实验数据。数据书上只提供了50条数据(25条正常邮件,25条垃圾邮件),感觉数据量偏小,以后打算使用scikit-learn提供的iris数据。

这里需要说明下,贝叶斯推断和朴素贝叶斯不是同一个概念

数据准备

和很多机器学习一样,数据需要拆分成训练集和测试集。

拆分训练集和测试集的思路如下:

1.遍历包含50条数据的email文件夹,获取文件列表

2.使用random.shuffle()函数打乱列表

3.截取乱序后的文件列表前10个文件路径,并转移到test文件夹下,作为测试集。

代码实现:

# -*- coding: utf-8 -*-

# @Date : 2017-05-09 13:06:56

# @Author : Alan Lau (rlalan@outlook.com)

# @Language : Python3.5

# from fwalker import fun

import random

# from reader import writetxt, readtxt

import shutil

import os

def fileWalker(path):

fileArray = []

for root, dirs, files in os.walk(path):

for fn in files:

eachpath = str(root+'\\'+fn)

fileArray.append(eachpath)

return fileArray

def main():

filepath = r'..\email'

testpath = r'..\test'

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值