sklearn对中文评论实现贝叶斯分类,区分好评和差评,给出示例代码
时间: 2023-10-16 07:06:16 浏览: 272
下面是一个使用sklearn实现中文评论贝叶斯分类的示例代码:
```python
import jieba
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# 读取数据
data = pd.read_csv('comments.csv')
# 分词
data['words'] = data['comment'].apply(lambda x: ' '.join(jieba.cut(x)))
# 特征提取
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(data['words'])
y = data['label']
# 构建模型
nb = MultinomialNB()
nb.fit(X, y)
# 测试模型
test_comment = '这个产品太差了,不值得购买!'
test_words = ' '.join(jieba.cut(test_comment))
test_X = vectorizer.transform([test_words])
predict = nb.predict(test_X)
if predict == 0:
print('差评')
else:
print('好评')
```
在这个示例中,我们首先使用`pandas`库读取了评论数据,并使用`jieba`库进行中文分词,然后使用`CountVectorizer`类将分词后的文本转换成特征矩阵。接着,我们使用`MultinomialNB`类构建了贝叶斯分类模型,并使用训练好的模型预测了一条新的评论。最后,根据模型预测结果判断该评论是好评还是差评。
阅读全文