基于多项式贝叶斯的垃圾短信识别

该博客介绍了一种基于多项式贝叶斯的垃圾短信识别方法。首先将标签转换为0和1,然后统计正常邮件和垃圾邮件数量,发现正常邮件更多。接着分析文本长度分布并绘制直方图,发现大多数文本长度在175字内。接着,利用CountVectorizer将文本转化为向量,采用MultinomialNB进行训练,得到了模型在测试数据上的准确率。最后,通过混淆矩阵评估分类效果,以便对错误分类进行调整。
摘要由CSDN通过智能技术生成
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# 读取文件
df = pd.read_table("./SMSSpamCollection",header=None)
df.head()

在这里插入图片描述
每一列都是一个特征值(文件随便搜垃圾短信数据集都能下载得到)

# 重命名数据中的两列,使得拥有更好的可读性
df.rename(columns={
   0:"Label", 1:"Text"},inplace=True)
df.head()

在这里插入图片描述
把字符串类型的标签直接改为0和1,这样就可以直接输入到模型中去。

# 把"ham"和"spam"标签重新命名为数字0和1
df["numLabel"] = df
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值