朴素贝叶斯、LOGIT、XGBOOST算法对文本进行文档分类python代码实现
时间: 2023-07-10 08:10:23 浏览: 67
好的,以下是使用朴素贝叶斯、LOGIT、XGBOOST算法对文本进行文档分类的Python代码实现:
```python
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.linear_model import LogisticRegression
import xgboost as xgb
# 读取数据集
data = pd.read_csv('data.csv')
# 划分训练集和测试集
train_data = data[:800]
test_data = data[800:]
# 特征工程:将文本转化为tf-idf向量
tfidf = TfidfVectorizer()
train_tfidf = tfidf.fit_transform(train_data['text'])
test_tfidf = tfidf.transform(test_data['text'])
# 定义分类器
nb = MultinomialNB()
logit = LogisticRegression()
xgb = xgb.XGBClassifier()
# 训练模型
nb.fit(train_tfidf, train_data['label'])
logit.fit(train_tfidf, train_data['label'])
xgb.fit(train_tfidf, train_data['label'])
# 在测试集上测试模型
nb_score = nb.score(test_tfidf, test_data['label'])
logit_score = logit.score(test_tfidf, test_data['label'])
xgb_score = xgb.score(test_tfidf, test_data['label'])
print("朴素贝叶斯算法分类准确率为:", nb_score)
print("LOGIT算法分类准确率为:", logit_score)
print("XGBOOST算法分类准确率为:", xgb_score)
```
其中,`data.csv`为包含文本和标签的数据集文件,`text`列为文本内容,`label`列为文本对应的标签。以上代码实现了将文本转化为tf-idf向量,以及使用朴素贝叶斯、LOGIT、XGBOOST三种算法对文本进行分类,并输出了三种算法的分类准确率。