贝叶斯分类算法python实现
时间: 2023-12-31 07:04:58 浏览: 26
贝叶斯分类算法的Python实现可以使用scikit-learn库中的`MultinomialNB`类。下面是一个简单的示例代码:
```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
# 创建训练数据集
train_data = ['I love this movie', 'This movie is great', 'I hate this movie']
train_labels = ['positive', 'positive', 'negative']
# 创建CountVectorizer对象,用于将文本转换为特征向量
vectorizer = CountVectorizer()
# 将训练数据集转换为特征向量
train_features = vectorizer.fit_transform(train_data)
# 创建MultinomialNB分类器对象
classifier = MultinomialNB()
# 使用训练数据集训练分类器
classifier.fit(train_features, train_labels)
# 创建测试数据集
test_data = ['I like this movie', 'This movie is terrible']
# 将测试数据集转换为特征向量
test_features = vectorizer.transform(test_data)
# 使用训练好的分类器进行预测
predictions = classifier.predict(test_features)
# 打印预测结果
for i, prediction in enumerate(predictions):
print(f'Test data {i+1}: {test_data[i]} - Predicted label: {prediction}')
```
这段代码首先创建了一个训练数据集,其中包含了一些电影评论和对应的情感标签(正面或负面)。然后,使用`CountVectorizer`将文本数据转换为特征向量。接下来,创建了一个`MultinomialNB`分类器对象,并使用训练数据集对分类器进行训练。最后,创建了一个测试数据集,并使用训练好的分类器对测试数据进行预测,并打印预测结果。