朴素贝叶斯代码实现python
时间: 2024-11-13 18:15:35 浏览: 8
朴素贝叶斯python实现
朴素贝叶斯(Naive Bayes)是一种基于概率统计的简单而有效的分类算法,常用于文本分类、垃圾邮件识别等场景。在Python中,我们可以使用scikit-learn库来实现朴素贝叶斯。下面是一个简单的例子:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建Gaussian Naive Bayes分类器
gnb = GaussianNB()
# 训练模型
gnb.fit(X_train, y_train)
# 预测
y_pred = gnb.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100}%")
# 相关问题--
1. 朴素贝叶斯假设什么条件?
2. 除了GaussianNB,sklearn还有哪些朴素贝叶斯实现?
3. 当数据不适合高斯分布时,如何处理?
```
这个示例展示了如何使用Gaussian Naive Bayes(高斯朴素贝叶斯),如果你需要二分类或其他类型的朴素贝叶斯,可以更换对应的`GaussianNB`为`MultinomialNB`(多项式朴素贝叶斯)或`BernoulliNB`(伯努利朴素贝叶斯)。
阅读全文