针对新闻数据,使用朴素贝叶斯算法进行新闻分类代码
时间: 2023-07-05 17:13:17 浏览: 125
以下是使用Python的sklearn库实现朴素贝叶斯算法对新闻数据进行分类的示例代码:
```python
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import classification_report
# 加载新闻数据集
newsgroups_train = fetch_20newsgroups(subset='train')
newsgroups_test = fetch_20newsgroups(subset='test')
# 文本特征提取
vectorizer = CountVectorizer(stop_words='english')
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)
print(classification_report(newsgroups_test.target, predicted, target_names=newsgroups_test.target_names))
```
该代码首先使用`fetch_20newsgroups`函数加载新闻数据集,然后使用`CountVectorizer`进行文本特征提取,将文本转换为矩阵表示。接着使用`MultinomialNB`训练朴素贝叶斯分类器,并对测试集进行预测并评估模型。最终输出分类报告。
阅读全文