朴素贝叶斯数据集及用python测试
时间: 2023-11-25 12:51:00 浏览: 115
朴素贝叶斯算法是一种基于贝叶斯定理和特征条件独立假设的分类算法。它在文本分类、垃圾邮件过滤、情感分析等领域有广泛应用。下面是使用Python进行朴素贝叶斯分类的步骤:
1.准备数据集:可以使用已有的数据集,也可以自己构造数据集。
2.数据预处理:将数据集转换为特征向量表示,常用的方法有词袋模型、TF-IDF等。
3.训练模型:使用训练集训练朴素贝叶斯分类器。
4.测试模型:使用测试集测试分类器的性能。
5.评估模型:使用准确率、召回率、F1值等指标评估分类器的性能。
下面是一个使用朴素贝叶斯算法对垃圾短信数据集进行分类的例子:
```python
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv('spam.csv', encoding='latin-1')
# 将标签转换为0和1
data['label'] = data['v1'].map({'ham': 0, 'spam': 1})
# 划分训练集和测试集
train_data = data.sample(frac=0.8, random_state=1)
test_data = data.drop(train_data.index)
# 特征提取
vectorizer = CountVectorizer()
train_features = vectorizer.fit_transform(train_data['v2'])
test_features = vectorizer.transform(test_data['v2'])
# 训练模型
clf = MultinomialNB()
clf.fit(train_features, train_data['label'])
# 预测
pred = clf.predict(test_features)
# 评估模型
acc = accuracy_score(test_data['label'], pred)
print('Accuracy:', acc)
```
阅读全文