sklearn包中的朴素贝叶斯python
时间: 2024-06-20 08:02:12 浏览: 97
Sure, sklearn(Scikit-learn)是一个广泛使用的Python机器学习库,其中包括了各种算法,包括朴素贝叶斯分类器。朴素贝叶斯分类器是一种基于概率统计的简单但强大的分类方法,它假设特征之间相互独立(“朴素”),并利用贝叶斯定理来进行预测。
在sklearn中,你可以使用` GaussianNB`, `MultinomialNB`, 和 `BernoulliNB` 这几个主要的朴素贝叶斯模型:
1. `GaussianNB`:适用于连续数据,假设特征服从高斯分布。
2. `MultinomialNB`:适用于计数数据,如文本分类,每个特征表示词频。
3. `BernoulliNB`:类似于`MultinomialNB`,但假设每个特征是二元的(0或1)。
使用朴素贝叶斯的基本步骤如下:
```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, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练模型
gnb = GaussianNB()
gnb.fit(X_train, y_train)
# 预测
y_pred = gnb.predict(X_test)
# 评估性能
accuracy = accuracy_score(y_test, y_pred)
```
如果你想了解更多关于朴素贝叶斯的细节、参数设置或适用场景,或者对其他相关问题有疑问,请告诉我,我会提供更多信息。
阅读全文