新闻文本分类系统模型的准确率和召回率部分代码
时间: 2023-12-13 07:03:58 浏览: 146
以下是使用Python和scikit-learn库实现的一个简单的新闻文本分类模型,并计算准确率和召回率的部分代码:
```python
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, recall_score
# 加载数据集
data = pd.read_csv('news_dataset.csv')
# 数据预处理
vectorizer = CountVectorizer(stop_words='english')
X = vectorizer.fit_transform(data['text'])
y = data['category']
# 划分训练集和测试集
split_point = int(len(data) * 0.7)
X_train, X_test = X[:split_point], X[split_point:]
y_train, y_test = y[:split_point], y[split_point:]
# 构建朴素贝叶斯分类模型
nb_classifier = MultinomialNB()
nb_classifier.fit(X_train, y_train)
# 预测测试集结果
y_pred = nb_classifier.predict(X_test)
# 计算准确率和召回率
accuracy = accuracy_score(y_test, y_pred)
recall = recall_score(y_test, y_pred, average='macro')
print(f"准确率:{accuracy:.2f}")
print(f"召回率:{recall:.2f}")
```
这段代码首先加载了一个名为'news_dataset.csv'的数据集,该数据集包含了新闻文本和其所属的类别。然后,我们使用CountVectorizer将文本转换为向量,以便于训练模型。接着,我们将数据集划分为训练集和测试集,使用朴素贝叶斯分类器来训练模型,并预测测试集的结果。最后,我们使用scikit-learn中的accuracy_score和recall_score函数计算准确率和召回率。
阅读全文