从零开始的AI系列

  • 从零开始的AI·机器学习の基本概念
  • 从零开始的AI·吃透kNN算法,学完我悟了(附实例代码)
  • 从零开始的AI·决策树原来这么好理解(附实例代码)

文章目录

  • 从零开始的AI系列
  • 前言
  • 一、权衡利弊
  • 二、整体感知
  • 三、理论基础
  • 四、具体实现过程及细节

前言

本文理论部分基于Peter Harrington的《机器学习实战》一书

朴素贝叶斯算法(Naive Bayesian algorithm) 是应用最为广泛的分类算法之一。 朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。也就是说没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。虽然这个简化方式在一定程度上降低了贝叶斯分类算法的分类效果,但是在实际的应用场景中,极大地简化了贝叶斯方法的复杂性

如果觉得AI学习枯燥,可以选择看一下这个老哥做的网站,趣味性直接拉满>>人工智能教程


一、权衡利弊

  • 优点:在数据较少的情况下仍然有效,可以处理多类别问题
  • 缺点:对于输入数据的准备方式较为敏感
  • 数据类型:标称型数据
  • 应用:文本分类,垃圾邮件的分类,信用评估,钓鱼网站检测

二、整体感知

有两百名学生,情况如下

长裤 裙子
100 0
50 50

从远处又来了一名穿长裤的学生,仅从穿着判断该学生是男是女

首先计算出穿长裤且是男生的概率为100/150=2/3
其次计算出穿长裤且是女生的概率为50/150=1/3
2/3>1/3,因此我们估计该学生为男生

三、理论基础

  • 先验概率:通过已知的数据计算出的概率。如“贝叶死”的发病率是万分之一
  • 后验概率:根据当前已知的信息,去预测,所得出的概率。如某人患有“贝叶死”,患病原因可能是 A、B 或 C。则由于A而患病的概率即后验概率。它是属于条件概率的一种。
  • 贝叶斯理论

    p(c1|x, y) 意义为给定某个由x、y表示的数据点,那么该数据点来自类别c1的概率是多少?
  • 基本思想:先通过样本获取先验概率,再通过贝叶斯的相关公式计算后验概率,比较后验概率,最大的为分类的结果

四、具体实现过程及细节

#读取数据
import pandas as pd
skin=pd.read_csv(r'train.csv')
skin.z.value_counts()
#划分数据集
from sklearn import  model_selection
X_train, X_test, Y_train, Y_test =model_selection.train_test_split(skin.iloc[:,:2],skin.z,test_size=0.25,random_state=1234)
#使用高斯分类器进行预测
from  sklearn import naive_bayes
gnb=naive_bayes.GaussianNB()
gnb.fit(X_train,Y_train)
gnb_pred =gnb.predict(X_test)
pd.Series(gnb_pred).value_counts()
#构造混淆矩阵并得出准确率
from sklearn import metrics
cm=pd.crosstab(gnb_pred,Y_test)
print('准确率为\n',metrics.accuracy_score(Y_test,gnb_pred))

从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)相关推荐

  1. 朴素贝叶斯高斯模型_从零开始实现高斯朴素贝叶斯独立贝叶斯模型

    朴素贝叶斯高斯模型 "Why is Google censuring me?!" Claire asked (true story). Sure, she's always bee ...

  2. java mllib 算法_朴素贝叶斯算法原理及Spark MLlib实例(Scala/Java/Python)

    朴素贝叶斯 算法介绍: 朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法. 朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,在没有其它可用信息下,我 ...

  3. 朴素贝叶斯进行新闻主题分类,有代码和数据,可以跑通

    folder_path = '/Users/apple/Documents/七月在线/NLP/第2课/Lecture_2/Naive-Bayes-Text-Classifier/Database/So ...

  4. matlab贝叶斯判别后验概率,统计学习方法——朴素贝叶斯法、先验概率、后验概率(示例代码)...

    朴素贝叶斯法,就是使用贝叶斯公式的学习方法,朴素就是它假设输入变量(向量)的各个分量之间是相互独立的.所以对于分量之间不独立的分布,如果使用它学习和预测效果就不会很好. 简化策略 它是目标是通过训练数 ...

  5. 机器学习算法-朴素贝叶斯(一):朴素贝叶斯简介和鸢尾花分类实战(代码附详细注释)

    朴素贝叶斯 朴素贝叶斯的介绍 朴素贝叶斯算法(Naive Bayes, NB) 是应用最为广泛的分类算法之一.它是基于贝叶斯定义和特征条件独立假设的分类器方法.由于朴素贝叶斯法基于贝叶斯公式计算得到, ...

  6. 从零开始的AI·决策树原来这么好理解(附实例代码)

    从零开始的AI系列 从零开始的AI·机器学习の基本概念 从零开始的AI·吃透kNN算法,学完我悟了(附实例代码) 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码) 文章目录 从零开始的AI系列 前言 ...

  7. 从零开始的AI·吃透kNN算法,学完我悟了(附实例代码)

    从零开始的AI系列 从零开始的AI·机器学习の基本概念 从零开始的AI·决策树原来这么好理解(附实例代码) 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码) 文章目录 从零开始的AI系列 前言 一. ...

  8. 《机器学习实战》学习笔记(四) : 朴素贝叶斯的基本原理

    在看了书.CSDN上的博客.B站上的视频后整理而成,超级感谢前辈提供的宝贵知识- Table of Contents 1  基础数学知识 1.1  条件概率公式 1.2  贝叶斯公式 1.3  全概率 ...

  9. 小白学习朴素贝叶斯——看即懂

    申明:文章内容是作者自己的学习笔记,教学来源是开课吧讲师梁勇老师. 讲师介绍:梁老师 <细说Java>与<Java深入解析>图书作者.一线互联网资深数据分析专家,超过十年软件开 ...

最新文章

  1. BZOJ 2134 单选错位(数学期望)【BZOJ 修复工程】
  2. 如何自学python编程-如何教少儿学习Python编程
  3. 成功解决RuntimeError: Java is not installed, or the Java executable is not on system path
  4. React开发(145):目录规范:
  5. LeetCode 1490. 克隆 N 叉树(DFS/BFS)
  6. linux wifi pro6818,GEC6818连接Ubuntu,下载程序至开发板
  7. 三星Galaxy Note10+最后的爆料:配备更大的S-Pen手写笔
  8. JavaScript 数组的知识点讲解
  9. (翻译)Importing models-FBX Importer - Animations Tab
  10. 【CF Round #534 Div2】B:Game with string(水题,积累思路)
  11. 经验分享 | 关于NASA VIIRS数据
  12. RxJava 创建事件流
  13. 速达软件二次开发-百威直配单和速达销售开单对接
  14. 苹果app商品定价_iOS 开发_2017苹果内购价格表
  15. 【JAVA电子相册】
  16. signature=e5535ff98b93aa63c455611822dc57c2,Magnetoimpedance of metallic ferromagnetic wires
  17. 巧用Hive自带函数进行多字段分别去重计数统计
  18. 使用VS制作一个小游戏(五子棋)
  19. 当我print时,Python做了什么
  20. es6 将字符串转换为json_ES6-json与字符串的转换

热门文章

  1. ShellCode的编写入门
  2. xcode5 delete provisioning profile
  3. 【Bootloader】探究bootloader,分析u-boot源码
  4. UA MATH567 高维统计专题1 稀疏信号及其恢复6 随机设计矩阵下LASSO的估计误差
  5. MFC用代码创建工具栏
  6. CentOS源码下载和Windows平台下解压rpm包
  7. 图解CS版的皮肤界面编程示例
  8. 图解WebSphere 8.5 安装
  9. 正在或即将被使用的Go依赖包管理方法:Go Modules,Go 1.13的标准特性
  10. 如何认识TOS----DSCP 对照表