垃圾邮件分类 代码实现
时间: 2023-08-18 21:10:45 浏览: 34
以下是一个简单的Python代码示例,用于垃圾邮件分类:
```python
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import classification_report
# 读取数据集
data = pd.read_csv("spam.csv", encoding="latin-1")
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data["text"], data["label"], test_size=0.2, random_state=42)
# 特征提取
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
# 训练模型
clf = MultinomialNB()
clf.fit(X_train_vec, y_train)
# 测试模型
X_test_vec = vectorizer.transform(X_test)
y_pred = clf.predict(X_test_vec)
# 分类报告
print(classification_report(y_test, y_pred))
```
上述代码中,我们首先读取了一个包含垃圾邮件和正常邮件的数据集(例如`spam.csv`),然后将其划分为训练集和测试集。接下来,我们使用`CountVectorizer`类提取文本数据的特征,将其转换为向量形式。然后,我们使用`MultinomialNB`类训练一个朴素贝叶斯分类器,并在测试集上进行预测。最后,我们使用`classification_report`函数生成分类报告,包括准确率、召回率、F1值等指标。
需要注意的是,这只是一个简单的代码示例,实际应用中可能需要更复杂的特征提取方法、模型选择和调参过程。