朴素贝叶斯算法实现分类代码
时间: 2024-09-09 07:11:03 浏览: 63
朴素贝叶斯算法是一种基于概率统计的简单而强大的分类方法,它假设特征之间相互独立,尽管这个假设在实际问题中并不总是成立。下面是一个简单的Python示例,使用sklearn库来实现文本分类,比如垃圾邮件检测:
```python
from sklearn.datasets import load_files
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import Pipeline
# 加载数据集,这里以20新sgroups为例
data = load_files('path_to_your_dataset', categories=['spam', 'ham'])
# 分割数据为特征(文档)和标签
X_train, y_train = data.data, data.target
# 创建一个朴素贝叶斯分类器管道
text_clf = Pipeline([
('vect', CountVectorizer()), # 文本向量化
('clf', MultinomialNB()) # 朴素贝叶斯模型
])
# 训练模型
text_clf.fit(X_train, y_train)
# 预测新的文本属于哪一类
def predict_spam(text):
predicted_label = text_clf.predict([text])
return predicted_label[0]
阅读全文