基于机器学习的情感分类代码的实现
时间: 2023-08-08 15:10:13 浏览: 52
以下是一个基于朴素贝叶斯算法实现情感分类的Python代码示例:
```python
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 读取数据
df = pd.read_csv('sentiment_data.csv', header=None, names=['text', 'label'])
# 数据预处理
df['text'] = df['text'].str.replace('[^\w\s]', '') # 去除标点符号
df['text'] = df['text'].str.lower() # 转换为小写
# 特征提取
cv = CountVectorizer(stop_words='english') # 去除停用词
X = cv.fit_transform(df['text'])
# 模型训练
clf = MultinomialNB()
clf.fit(X, df['label'])
# 模型评估
y_pred = clf.predict(X)
acc = accuracy_score(df['label'], y_pred)
print('Accuracy:', acc)
# 测试样例
text = 'This product is great!'
X_test = cv.transform([text])
y_test = clf.predict(X_test)[0]
print('Predicted label:', y_test)
```
其中,数据集`sentiment_data.csv`包含了两列数据:`text`表示文本数据,`label`表示情感标签,标签为1表示正面情感,标签为0表示负面情感。
该代码首先读取数据,并对文本数据进行预处理和特征提取。然后使用朴素贝叶斯算法对特征数据进行训练,并使用训练好的模型进行预测。最后计算模型的准确率,并对一个测试样例进行情感分类的预测。