贝叶斯实现垃圾邮件分类的代码
时间: 2024-11-06 13:15:24 浏览: 10
基于朴素贝叶斯的垃圾邮件分类
5星 · 资源好评率100%
贝叶斯分类器在垃圾邮件过滤中常用于文本分类任务。以下是使用Python的`scikit-learn`库实现一个简单朴素贝叶斯垃圾邮件过滤器的基本步骤:
```python
# 导入所需的库
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
import pandas as pd
# 假设你有一个CSV文件,其中包含两列:'text'(邮件内容)和'label'(垃圾邮件或非垃圾邮件)
data = pd.read_csv('spam_dataset.csv')
# 分割数据集为特征(邮件内容)和目标(标签)
X = data['text']
y = data['label']
# 将文本转换成向量(这里是词频计数)
vectorizer = CountVectorizer()
X_vec = vectorizer.fit_transform(X)
# 创建并训练朴素贝叶斯模型
model = MultinomialNB()
model.fit(X_vec, y)
# 对新的邮件进行预测
new_email = ["这是一封新邮件"]
new_email_vec = vectorizer.transform(new_email)
prediction = model.predict(new_email_vec)
# 输出预测结果
if prediction[0] == '垃圾邮件':
print("这封邮件可能是垃圾邮件")
else:
print("这封邮件不是垃圾邮件")
#
阅读全文