给我一个数据集并在此数据集上做朴素贝叶斯问题代码实现,不要鸢尾花数据集
时间: 2024-10-09 20:06:58 浏览: 58
朴素贝叶斯分类是一种基于概率模型的机器学习算法,常用于文本分类、垃圾邮件检测等场景。这里我们以经典的Spam Email 数据集为例,这是一个包含电子邮件是否为垃圾邮件的数据集。假设我们已经有一个CSV格式的数据集,包含“邮件”列作为文本特征和“标签”列作为目标变量。
以下是一个简单的Python代码示例,使用sklearn库实现朴素贝叶斯分类:
```python
# 导入所需的库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 加载数据集
data = pd.read_csv('spam_dataset.csv') # 假设文件名是这样的
X = data['邮件'] # 特征
y = data['标签'] # 目标变量
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 文本向量化
vectorizer = CountVectorizer() # 使用词频模型
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
# 创建朴素贝叶斯分类器
nb_classifier = MultinomialNB()
# 训练模型
nb_classifier.fit(X_train_vec, y_train)
# 预测
y_pred = nb_classifier.predict(X_test_vec)
# 评估性能
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
阅读全文