基于朴素贝叶斯算法实现英文电影情感分类
时间: 2023-07-25 22:27:39 浏览: 65
以下是一个基于朴素贝叶斯算法的英文电影情感分类器的示例代码:
```python
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
df = pd.read_csv('train.csv')
# 分离特征和标签
X = df['text']
y = df['sentiment']
# 将标签编码为数字
y = y.replace('negative', 0)
y = y.replace('neutral', 1)
y = y.replace('positive', 2)
# 创建计数向量化器
vectorizer = CountVectorizer()
# 将文本转换为计数向量
X = vectorizer.fit_transform(X)
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建朴素贝叶斯分类器
clf = MultinomialNB()
# 训练分类器
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
这个模型使用了一个计数向量化器和一个多项式朴素贝叶斯分类器。首先,我们将文本转换为计数向量。然后,我们将数据集分为训练集和测试集,并训练了一个朴素贝叶斯分类器。最后,我们预测了测试集的情感,并计算了准确率。