新闻文本分类算法python
时间: 2023-07-05 22:19:11 浏览: 48
实现文本分类有很多算法可以选择,其中比较常见的算法有朴素贝叶斯、支持向量机(SVM)、K近邻(KNN)和决策树等。
以下是用Python实现朴素贝叶斯算法实现文本分类的示例代码:
```python
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 读取数据集
df = pd.read_csv('news_dataset.csv')
# 划分训练集和测试集
train_size = int(len(df) * 0.8)
train_df = df[:train_size]
test_df = df[train_size:]
# 特征提取
vectorizer = CountVectorizer(stop_words='english')
X_train = vectorizer.fit_transform(train_df['text'])
X_test = vectorizer.transform(test_df['text'])
y_train = train_df['label']
y_test = test_df['label']
# 训练模型
model = MultinomialNB()
model.fit(X_train, y_train)
# 预测并计算准确率
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
其中,`news_dataset.csv`是一个带有`text`和`label`两列的CSV文件,`text`列是新闻文本,`label`列是对应的类别标签。在代码中,首先读取数据集,然后使用`CountVectorizer`将文本转换为向量表示,接着使用朴素贝叶斯算法训练模型,最后计算准确率。