实现贝叶斯分类器_基于鸢尾花数据集的贝叶斯分类

2023-05-16

sklearn.naive_bayes 的超简单介绍

在sklearn中,朴素贝叶斯主要有以下几种方法:

更为详细的说明可参考下方链接中的官方文档:

1.9. Naive Bayes​scikit-learn.org

(哈哈哈哈这部分照应小标题:超简单介绍。没有啦没有啦,主要是官方文档很清晰的介绍了,各种参数说明都有,甚至于还有实例。)

也许纯碎地看上面的文档介绍,会看得蒙蒙的,但别急,下面的小案例会让你慢慢懂得如何在实际中去应用朴素贝叶斯的python实现。

代码流程:

  1. 库函数导入
  2. 数据导入&分析
  3. 模型训练
  4. 模型预测

step1库函数导入

import numpy as np
from sklearn import datasets
from sklearn.naive_bayes import GaussianNB # 导入高斯朴素贝叶斯分类器
from sklearn.model_selection import train_test_split

step2数据导入&分析

X,y=datasets.load_iris(return_X_y=True) # X是数据特征,y是类别标签
x_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=0)

step3模型训练

# 通过分析发现训练数据是数值型数据,这里假设每个特征服从高斯分布,因此我们选择高斯朴素贝叶斯进行分类计算
# 使用高斯贝叶斯进行分类计算
clf=GaussianNB(var_smoothing=1e-8)
clf.fit(x_train,y_train)
# 模型预测
y_pred=clf.predict(x_test)
acc=np.sum(y_pred==y_test)/x_test.shape[0]

step4模型预测

y_pred=clf.predict(x_test)
acc=np.sum(y_pred==y_test)/x_test.shape[0]

# 预测
y_proba=clf.predict_proba(x_test[:1])
print(clf.predict(x_test[:1]))
print('预测的概率值:',y_proba)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实现贝叶斯分类器_基于鸢尾花数据集的贝叶斯分类 的相关文章

随机推荐