【算法】朴素贝叶斯法

笔者邀请您,先思考:

1 您怎么理解朴素贝叶斯法?

2 朴素贝叶斯法的优劣是什么?

朴素贝叶斯算法

朴素贝叶斯是一种简单但是非常强大的线性分类器,它在垃圾邮件分类,疾病诊断中都取得了很大的成功。

它只所以称为朴素,是因为它假设特征之间是相互独立的

朴素贝叶斯的数学原理

1.后验概率(Posterior Probabilities):

为了更好地了解朴素贝叶斯分类器是怎么工作的,了解贝叶斯法则是很必要的。它可以被简单地描述成下面的公式:

后验概率=(条件概率∗先验概率现象概率)/(现象概率)

举一个简单的例子说明:

P(给定天上有乌云,下雨的概率)=(P(给定天上下雨,有乌云的概率)∗P(下雨的概率))/P(有乌云的概率)

ωj表示属于哪个类别,j∈{1,2,3,…,m}

xi表示特征向量中的第i个特征,i∈{1,2,3,…,n}

朴素贝叶斯的目标就是分别求得P(ωj|给定现象)j∈{1,2,3,…,m},选出最大的概率。

朴素贝叶斯分类是将实例分到后验概率最大的类中。这等价于期望风险最小化。这就是朴素贝叶斯法所采用的原理。

条件概率公式:

实战代码

from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import cross_validation
def load_data():
   iris = datasets.load_iris()
   return cross_validation.train_test_split(iris.data,iris.target,test_size=0.25,random_state=0)

def test_naive_bayes(*data):
   # 模型初始化
   X_train,X_test,Y_train,Y_test=data
   clf = GaussianNB()
   clf.fit(X_train, Y_train)
   # 预测结果
   Y_prict = clf.predict(X_test)
   # 计算准确率
   cnt = 0
   for i in range(len(Y_test)):
       if Y_prict[i] - Y_test[i] < 1e-1:
           cnt += 1
       # print(ans[i], ' ', y_test[i])
   print("Accuracy: ", (cnt * 100.0 / len(Y_test)), "%")
   print('Score:%f'%clf.score(X_test,Y_test))

if  __name__=='__main__':
   X_train,X_test,Y_train,Y_test=load_data()
   test_naive_bayes(X_train,X_test,Y_train,Y_test)

Accuracy: 100.0 % Score:1.000000

文章推荐:

1 LDA算法及应用 2 word2vec与doc2vec模型

本文分享自微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏目标检测和深度学习

一门面向所有人的人工智能公开课:MIT 6.S191,深度学习入门

选自Medium 机器之心编译 参与:黄小天、李泽南 对初学者来说,有没有易于上手,使用流行神经网络框架进行教学的深度学习课程?近日,麻省理工学院(MIT)正式...

382130
来自专栏AI研习社

数值计算——「Deep Learning」读书系列分享第四章分享总结

「Deep Learning」这本书是机器学习领域的重磅书籍,三位作者分别是机器学习界名人、GAN 的提出者、谷歌大脑研究科学家 Ian Goodfellow,...

393120
来自专栏专知

【经典重读】机器学习的那些事

【导读】现在以深度学习、强化学习、GAN等为代表的算法模型技术发展方兴未艾。在追随这些前沿技术同时,我们也需要对机器学习的基本概念的进行理解,如“学习=表示+评...

37850
来自专栏AI科技评论

「Deep Learning」读书系列分享第四章:数值计算 | 分享总结

AI 科技评论按:「Deep Learning」这本书是机器学习领域的重磅书籍,三位作者分别是机器学习界名人、GAN的提出者、谷歌大脑研究科学家 Ian Goo...

372100
来自专栏机器之心

深度 | 学习如何学习的算法:简述元学习研究方向现状

选自TowardsDataScience 作者:Cody Marie Wild 机器之心编译 参与:李诗萌、李泽南 要想实现足够聪明的人工智能,算法必须学会如何...

39250
来自专栏AI科技大本营的专栏

迁移学习到底是什么?让我们来解读一下杨强、Bengio和龙盛明的论文

作者 | 王晋东不在家 《小王爱迁移》之一:迁移成分分析(TCA)方法简介 之前整理总结迁移学习资料的时候有网友评论,大意就是现在的类似资料大全的东西...

2.5K50
来自专栏算法channel

机器学习期望最大算法:实例解析

交流思想,注重分析,更注重通过实例让您通俗易懂。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来! 01 —...

43270
来自专栏专知

【干货】ICCV2017 PoseTrack challenge优异方法:基于检测和跟踪的视频中人体姿态估计

【导读】近日,针对视频中场景复杂、人物众多等困难挑战,来自Facebook、CMU和达特茅斯学院的研究人员提出了一种新颖的基于检测和跟踪的视频中人体姿态估计方法...

81460
来自专栏算法channel

「机器学习」:不得不知的概念(3)

在上一篇推送中我们总结了机器学习第一课:一些最最基本的概念,比如特征,训练集,维数,假设空间等,通过一个例子说明什么是机器学习的泛化能力。接下来,再通过一个例子...

366110
来自专栏AI科技评论

学界 | 腾讯 AI Lab 详解16篇 ICML 2018 入选论文

7月10日至15日,第 35 届国际机器学习会议(ICML 2018)将在瑞典斯德哥尔摩举行。ICML是机器学习领域最顶级的学术会议,今年共收到2473篇投递论...

18930

扫码关注云+社区

领取腾讯云代金券