朴素贝叶斯算法原理以及python实现
时间: 2023-11-30 17:01:57 浏览: 42
朴素贝叶斯算法原理:
朴素贝叶斯算法是一种基于贝叶斯定理和特征条件独立假设的分类算法。其基本思想是对于给定的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个类别的概率最大,就认为此待分类项属于哪个类别。具体来说,朴素贝叶斯算法假设每个特征与其他特征之间相互独立,即每个特征都独立地对分类结果产生影响。在实际应用中,朴素贝叶斯算法常用于文本分类、垃圾邮件过滤等领域。
Python实现:
Python中有多个库可以实现朴素贝叶斯算法,其中比较常用的是scikit-learn库。下面是一个简单的示例代码,用于展示如何使用scikit-learn库实现朴素贝叶斯算法进行文本分类:
```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
# 构建训练数据
train_data = ['this is a good book', 'this is a bad book', 'good day', 'bad day']
train_labels = ['positive', 'negative', 'positive', 'negative']
# 构建特征提取器
vectorizer = CountVectorizer()
# 将文本转换为特征向量
train_features = vectorizer.fit_transform(train_data)
# 构建朴素贝叶斯分类器
clf = MultinomialNB()
# 训练分类器
clf.fit(train_features, train_labels)
# 构建测试数据
test_data = ['good book', 'bad book', 'happy day']
test_features = vectorizer.transform(test_data)
# 进行预测
predicted_labels = clf.predict(test_features)
# 输出预测结果
print(predicted_labels) # 输出:['positive' 'negative' 'positive']
```