莺尾花数据集--贝叶斯分类

Step1: 库函数导入
import warnings
warnings.filterwarnings('ignore')
import numpy as np# 加载莺尾花数据集
from sklearn import datasets# 导入高斯朴素贝叶斯分类器
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_splitStep2: 数据导入&分析
X, y = datasets.load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
我们需要计算两个概率分别是:条件概率: ( ( )= ( )| = )P(X(i)=x(i)|Y=ck)和类目 ck的先验概率: ( = )P(Y=ck)。
通过分析发现训练数据是数值类型的数据,这里假设每个特征服从高斯分布,因此我们选择高斯朴素贝叶斯来进行分类计算。

Step3: 模型训练# 使用高斯朴素贝叶斯进行计算
clf = GaussianNB(var_smoothing=1e-8)
clf.fit(X_train, y_train)
GaussianNB(var_smoothing=1e-08)Step4: 模型预测# 评估
y_pred = clf.predict(X_test)
acc = np.sum(y_test == y_pred) / X_test.shape[0]
print("Test Acc : %.3f" % acc)
# 预测
y_proba = clf.predict_proba(X_test[:1])
print(clf.predict(X_test[:1]))
print("预计的概率值:", y_proba)
Test Acc : 0.967 [2] 预计的概率值: [[1.63542393e-232 2.18880483e-006 9.99997811e-001]]

Step5: 原理简析

高斯朴素贝叶斯假设每个特征都服从高斯分布,我们把一个随机变量X服从数学期望为μ,方差为σ^2的数据分布称为高斯分布。对于每个特征我们一般使用平均值来估计μ和使用所有特征的方差估计σ^2。
( ( )= ( )| = )=12 2 ⎯⎯⎯⎯⎯⎯⎯⎯√exp(−( ( )− )22 2 )P(X(i)=x(i)|Y=ck)=12πσy2exp⁡(−(x(i)−μck)22σck2)
从上述例子中的预测结果中,我们可以看到类别2对应的后验概率值最大,所以我们认为类目2是最优的结果。

鸢尾花分类_机器学习:鸢尾花数据集--贝叶斯分类相关推荐

  1. 鸢尾花分类_基于鸢尾花(iris)数据集的逻辑回归分类实践

    今天是学习逻辑回归的第三天,不得不说还是挺难的.像我这种小白完全不能在一个小时内搞懂.我仿真这段代码时出现了错误,我还在纠错中,课业繁重,还望见谅. 接下来是代码段 Step1:库函数导入 ## 基础 ...

  2. 鸢尾花分类算法——机器学习笔记

    鸢尾花分类算法--机器学习笔记 开发环境 python.pycharm.sklearn模块. 作者想说 最近正在学习机器学习和参加JavaScript的项目,现在来整理一下机器学习的一些知识点.如果有 ...

  3. 鸢尾花python分类_鸢尾花分类——Python机器学习起步

    引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...

  4. 鸢尾花分类——Python机器学习起步

    引言 一直对AI有着莫大的兴趣,最近买了周志华先生的西瓜书,也是干货满满,最近也想从实战方面入手,了解一下机器学习,本文以<Python机器学习基础教程>为指导. 环境 Sublimete ...

  5. 机器学习朴素贝叶斯_机器学习基础朴素贝叶斯分类

    机器学习朴素贝叶斯 In the previous stories, I had given an explanation of the program for implementation of v ...

  6. 机器学习:分类_机器学习基础:K最近邻居分类

    机器学习:分类 In the previous stories, I had given an explanation of the program for implementation of var ...

  7. 鸢尾花分类python,Python鸢尾花分类实现

    #coding:utf-8 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_ ...

  8. coco数据集大小分类_如何处理不平衡数据集的分类任务

    在情感分类任务中,数据集的标签分布往往是极度不平衡的.以我目前手上的这个二分类任务来说,正例样本14.4万个:负例样本166.1万 = 1 :11.5.很显然这是一个极度不平衡的数据集,假设我把样本全 ...

  9. 基于朴素贝叶斯分类器的西瓜数据集 2.0 预测分类_机器学习之朴素贝叶斯

    1.贝叶斯原理 朴素贝叶斯分类(Naive Bayesian,NB)源于贝叶斯理论,是一类基于概率的分类器,其基本思想:假设样本属性之间相互独立,对于给定的待分类项,求解在此项出现的情况下其他各个类别 ...

最新文章

  1. vuex结合php,vuex中store的使用介绍(附实例)
  2. elasticsearch使用优化备忘
  3. 进入hbase shell速度很慢_HBase——大数据平台之分布式NoSQL数据库教程
  4. 阿里巴巴数据报告:消费向境内回流 低线城市消费蓬勃
  5. 4. 集中式vs分布式
  6. 雪花算法生成一个id
  7. IE8的模式修改优化Windows7
  8. WPF :MVVM简介
  9. The Sixty-first Of Word-Day
  10. lua之诡异的tonumber
  11. html5中figure怎么用,HTML5中figure和figcaption标签用法
  12. Scrum: 谁是利益相关者?
  13. kafka topic消息分配partition规则
  14. 如何成为Android高手
  15. Linux ARM平台开发系列讲解(GMSL摄像头篇)1.2 MAX9296 GMSL链路配置
  16. 动态规划之求解三角形最小路径问题
  17. python-flask-制作网页入门1
  18. OkHttp之线程池的使用
  19. java Android创建容器,Java-在具有(没有)DI容器的Android中正确进行依赖项注入(匕首1)...
  20. SQL Server 2014 的完美卸载

热门文章

  1. Eclipse设置字符编码
  2. bzoj3450 Easy(概率期望dp)
  3. MySQL中any、some、all关键字
  4. Python自动化开发之基础篇--Day1
  5. itunes app 下载链接的几种表现形式
  6. DIY Ruby CPU 分析——Part III
  7. 做到这23条,你就成熟了!
  8. 动态创建DataGrid的模版列(转)
  9. StringBuilder类与String类的区别
  10. TCP/IP模型各层的作用和设备