文章目录

  • 1.实验目的
  • 2.导入必要模块并读取数据
  • 3.训练+预测
  • 4.使用Sklearn Pipeline方法

1.实验目的

(1)分析邮件数据并对数据进行预处理
(2)运行朴素贝叶斯模型对邮件进行分类

数据链接
密码:bwfa

2.导入必要模块并读取数据

import pandas as pddf = pd.read_csv('spam.csv')
df.head()

df['spam'] = df['Category'].apply(lambda x: 1 if x=='spam' else 0)    #将标签数字化from sklearn.model_selection import train_test_split  X_train, X_test, y_train, y_test = train_test_split(df.Message, df.spam)  #拆分训练集与测试集from sklearn.feature_extraction.text import CountVectorizerv = CountVectorizer()    #将文本中的词语转换为词频矩阵
X_train_count = v.fit_transform(X_train.values)   #通过fit_transform函数计算各个词语出现的次数
X_train_count.toarray()[0:5]

3.训练+预测

from sklearn.naive_bayes import MultinomialNB    #导入多标签朴素贝叶斯模块model = MultinomialNB()   #实例化
model.fit(X_train_count, y_train)    #训练X_test_count = v.transform(X_test.values)      #转化测试集为数字
model.score(X_test_count, y_test)   #计算准确率

#测试
emails = ['Hey mohan, can we get together to watch footbal game tomorrow?','Upto 20% discount on parking, exclusive offer just for you. Dont miss this reward!'
]
emails_count = v.transform(emails)  #转化为数字
model.predict(emails_count)   #预测

4.使用Sklearn Pipeline方法

from sklearn.pipeline import Pipelineclf = Pipeline([                       #将转换和模型封装在一起('vectorizer',CountVectorizer()),('nb',MultinomialNB())
])clf.fit(X_train,y_train)    #训练

clf.score(X_test,y_test)    #测试
clf.predict(emails)

机器学习代码实战——朴素贝叶斯(实现垃圾邮件分类)相关推荐

  1. Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报 分类: 机器学习(19) 听说

    Python实现基于朴素贝叶斯的垃圾邮件分类 标签: python朴素贝叶斯垃圾邮件分类 2016-04-20 15:09 2750人阅读 评论(1) 收藏 举报  分类: 机器学习(19)  听说朴 ...

  2. 机器学习--使用朴素贝叶斯进行垃圾邮件分类

    一.学习背景 垃圾邮件的问题一直困扰着人们,传统的垃圾邮件分类的方法主要有"关键词法"和"校验码法"等,然而这两种方法效果并不理想.其中,如果使用的是" ...

  3. 朴素贝叶斯法 - 垃圾邮件分类

    本文基于朴素贝叶斯构建一个分类垃圾邮件的模型,研究对象是英文的垃圾邮件. 邮件内容保存在txt文件中,其中分为训练样本train和测试样本test. 在训练样本中正常邮件命名为:pos:垃圾邮件命名为 ...

  4. [CS229学习笔记] 5.判别学习算法与生成学习算法,高斯判别分析,朴素贝叶斯,垃圾邮件分类,拉普拉斯平滑

    本文对应的是吴恩达老师的CS229机器学习的第五课.这节课介绍了判别学习算法和生成学习算法,并给出了生成学习算法的一个实例:利用朴素贝叶斯进行垃圾邮件分类. 判别学习(Discriminative L ...

  5. AI基础:朴素贝叶斯与垃圾邮件分类

    来,继续回顾基础算法 文章目录 背景&贝叶斯原理 贝叶斯分类器 朴素贝叶斯分类器 西瓜数据集下的朴素贝叶斯示例 朴素贝叶斯分类的优缺点 朴素贝叶斯关键问题 朴素贝叶斯企业中的应用案例 基于朴素 ...

  6. 朴素贝叶斯(垃圾邮件分类)

    一.基于贝叶斯决策理论的分类方法 朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法.对于大多数的分类算法,在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同.比 ...

  7. 机器学习实战之朴素贝叶斯与垃圾邮件分类

    文章目录 一.实现原理 1.1 贝叶斯理论与公式 1.2 朴素贝叶斯分类器 1.3 拉普拉斯修正 1.4 分类小案例 二.代码实现 2.1 数据准备与处理 2.2 创建词汇表 2.3 构建词袋/词集模 ...

  8. 基于朴素贝叶斯的垃圾邮件分类-着重理解拉普拉斯变换

    1. 引言 在正式学习朴素贝叶斯之前,需要明确的是机器学习所要实现的是基于有限的训练样本集尽可能准确地估计出后验概率P(c|x),即根据特征得到所属类别的概率,首先引入两个概念. 判别式模型(disc ...

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

    1.贝叶斯的基本思想: 已知公式:p(y|x)=p(x|y)*p(y)/p(x) 可以将x看做特征向量,y为结果,那么p(y|x)就是在x特征出现的情况下,结果为y的概率. 在机器学习中,p(y|x) ...

最新文章

  1. Python-OpenCV运动物体检测
  2. NSUserDefaults删除整个plist文件
  3. Linux C 实现文件传输
  4. 更好地认知Azure
  5. Python-爬取2345电影并写入文件
  6. android ProgressBar 使用方法
  7. Lucky 7 in the Pocket
  8. Rightmost Digit
  9. python html格式编码
  10. ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)
  11. mysql主从是同步还是异步_mysql主从同步异步场景的分析
  12. 博时基金基于 RocketMQ 的互联网开放平台 Matrix 架构实践
  13. BZOJ 1801 chess 中国象棋
  14. abaqus生成adams柔性体_Abaqus和STAR-CCM+流固耦合
  15. Atitit junit最佳实践 目录 1.1. 可以在包级别建立测试,避免太多的test class 1 1.2. 但文件独立方法测试 避免建立太多的class 1 1.3. 测试方法直接从bat
  16. WEB前端性能优化总结——如何提高网页加载速度
  17. 3、圆周运动与椭圆运动
  18. VO、DO、DTO、PO是什么
  19. 汪光焘:中国城市交通问题、对策与理论需求
  20. 7代服务器cpu型号,七代酷睿都有哪些型号?_笔记本新闻-中关村在线

热门文章

  1. MySQL安装与java配合
  2. 【操作系统/OS笔记17】文件系统基本概念、文件描述符、文件系统访问、文件别名、文件系统种类
  3. gbk汉字编码拼音对照表_预习部分:汉字编码方案
  4. 使用IDEA编写一个springMVC架构的HelloWorld
  5. java基础知识---IO常用基础操作(二)
  6. .NET生成静态页面并分页
  7. html用ajax做三级联动,怎样使用JS+AJAX做出三级联动
  8. python生成html表格_如何使用Python生成html目录列表
  9. 放大器的传递函数_这么酷,采用极致小巧的运算放大器设计麦克风电路!
  10. 2019-11-24转载Ganglia 安装和使用