写一段朴素贝叶斯多分类的代码
时间: 2023-08-06 20:18:21 浏览: 122
朴素贝叶斯分类的代码
4星 · 用户满意度95%
下面是一个使用sklearn库中的MultinomialNB类实现朴素贝叶斯多分类的示例代码:
```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.datasets import fetch_20newsgroups
# 加载数据集
newsgroups_train = fetch_20newsgroups(subset='train')
newsgroups_test = fetch_20newsgroups(subset='test')
# 特征提取
vectorizer = CountVectorizer()
train_data = vectorizer.fit_transform(newsgroups_train.data)
test_data = vectorizer.transform(newsgroups_test.data)
# 训练模型
clf = MultinomialNB()
clf.fit(train_data, newsgroups_train.target)
# 预测结果
predicted = clf.predict(test_data)
# 计算准确率
accuracy = clf.score(test_data, newsgroups_test.target)
print("Accuracy: ", accuracy)
```
上述代码中,首先使用`fetch_20newsgroups`函数加载了一个新闻分类数据集。然后使用`CountVectorizer`类将文本数据转换为特征向量。接着使用`MultinomialNB`类训练了一个朴素贝叶斯分类器,并使用`score`函数计算了模型在测试集上的准确率。最终输出了模型的准确率。
阅读全文