写一个关于微博评论分析的情感分析模型代码
时间: 2023-08-13 11:02:19 浏览: 87
微博情感分析_python代码
4星 · 用户满意度95%
以下是一个简单的微博评论情感分析模型代码,使用 Python 和 Scikit-Learn 库实现:
```python
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
# 读取数据集
df = pd.read_csv('weibo_comments.csv')
# 数据预处理
df.dropna(inplace=True) # 删除含有 NaN 值的行
df['sentiment'] = np.where(df['sentiment'] == 'positive', 1, 0) # 将情感标签转换为数字
# 特征提取
count_vect = CountVectorizer()
X_counts = count_vect.fit_transform(df['comment'])
tfidf_transformer = TfidfTransformer()
X_tfidf = tfidf_transformer.fit_transform(X_counts)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_tfidf, df['sentiment'], test_size=0.2, random_state=42)
# 训练朴素贝叶斯分类器
clf = MultinomialNB()
clf.fit(X_train, y_train)
# 在测试集上评估模型性能
y_pred = clf.predict(X_test)
print('Accuracy:', accuracy_score(y_test, y_pred))
print('Precision:', precision_score(y_test, y_pred))
print('Recall:', recall_score(y_test, y_pred))
print('F1 Score:', f1_score(y_test, y_pred))
```
需要注意的是,这只是一个简单的情感分析模型,实际应用中需要考虑更多的因素和优化方法。比如,可以使用更复杂的特征提取方法(如词向量),使用更强大的分类器(如支持向量机),或者进行模型调参等。
阅读全文