python伯努利朴素贝叶斯
时间: 2023-11-13 16:56:12 浏览: 83
Python中的伯努利朴素贝叶斯是一种基于二元特征的朴素贝叶斯分类器。它假设所有特征都是二元的,即每个特征要么出现要么不出现。在伯努利朴素贝叶斯中,每个特征的权重都是相等的,因此该算法适用于文本分类等二元特征较多的场景。
在Python中,可以使用scikit-learn库中的BernoulliNB类来实现伯努利朴素贝叶斯分类器。具体使用方法可以参考以下代码:
```python
from sklearn.naive_bayes import BernoulliNB
from sklearn.feature_extraction.text import CountVectorizer
# 构建训练数据和标签
train_data = ['I love Python', 'Python is a great language', 'Java is a popular language']
train_labels = ['positive', 'positive', 'negative']
# 将文本转换为特征向量
vectorizer = CountVectorizer(binary=True)
train_vectors = vectorizer.fit_transform(train_data)
# 训练伯努利朴素贝叶斯分类器
clf = BernoulliNB()
clf.fit(train_vectors, train_labels)
# 预测新数据的标签
test_data = ['I hate Java']
test_vectors = vectorizer.transform(test_data)
predicted_labels = clf.predict(test_vectors)
print(predicted_labels) # 输出['negative']
```
阅读全文