如何使用Python实现一个基于贝叶斯定理的四分类问题分类器?
时间: 2024-10-24 07:15:48 浏览: 26
在Python中,我们可以使用`scikit-learn`库中的`GaussianNB`类来实现一个基于高斯朴素贝叶斯(Gaussian Naive Bayes)的简单四分类问题分类器。高斯朴素贝叶斯假设特征之间相互独立,并且每个特征都服从高斯分布。以下是一个简单的步骤:
```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 classification_report # 测试结果评估
# 加载数据
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)
# 创建并训练模型
gnb = GaussianNB()
gnb.fit(X_train, y_train)
# 进行预测
y_pred = gnb.predict(X_test)
# 评估分类效果
print(classification_report(y_test, y_pred))
```
在这个例子中,首先导入必要的模块,加载预置的鸢尾花数据集,接着将数据划分为训练集和测试集。然后创建一个GaussianNB实例,使用训练数据拟合模型,最后对测试数据进行预测,并查看分类报告获取模型的精度等指标。
阅读全文