用python针对新闻数据,使用朴素贝叶斯算法进行新闻分类生成代码
时间: 2024-02-17 08:01:24 浏览: 95
好的,以下是一个简单的Python代码示例,用于针对新闻数据使用朴素贝叶斯算法进行分类:
```python
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
# 读取数据集
df = pd.read_csv('news_data.csv')
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(df['text'], df['label'], test_size=0.2, random_state=42)
# 特征处理
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
# 构建朴素贝叶斯分类器
clf = MultinomialNB()
clf.fit(X_train_vec, y_train)
# 预测测试集
y_pred = clf.predict(X_test_vec)
# 计算准确率
accuracy = clf.score(X_test_vec, y_test)
print('Accuracy:', accuracy)
```
其中,我们首先使用`pandas`库读取新闻数据集`news_data.csv`,然后使用`train_test_split`函数将数据集划分为训练集和测试集。接着,我们使用`CountVectorizer`类对文本数据进行特征处理,将每个单词或词组看作一个特征。然后,我们使用`MultinomialNB`类构建朴素贝叶斯分类器,训练模型并预测测试集。最后,我们计算模型的准确率并输出。
阅读全文