可以基于决策树算法帮我写出一段代码关于如何进行垃圾邮件分类
时间: 2024-05-01 17:16:20 浏览: 103
以下是一个基于决策树算法的垃圾邮件分类的代码示例:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 加载数据集
data = pd.read_csv('spam.csv')
# 将分类标签转换为数字
data['label'] = data['label'].map({'ham': 0, 'spam': 1})
# 将文本特征转换为数值特征
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(data['text'])
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, data['label'], test_size=0.2, random_state=42)
# 创建决策树模型
clf = DecisionTreeClassifier()
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
这段代码将数据集加载到一个 Pandas DataFrame 中,将 ham 和 spam 标签转换为数字标签,然后使用 CountVectorizer 将文本特征转换为数值特征。接着,使用 train_test_split 函数将数据集划分为训练集和测试集,创建一个决策树分类器,并使用 fit 函数训练模型。最后,使用 predict 函数预测测试集并计算准确率。
阅读全文