数据发掘规模十大经典算法之—朴实贝叶斯算法(附代码)
9月15日技能沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖切磋精准运维!
简介 NaïveBayes算法,又叫朴实贝叶斯算法,朴实:特性前提独立;贝叶斯:基于贝叶斯定理。属于监视进修的天生模子,实现简朴,没有迭代,并有坚硬的数学理论(即贝叶斯定理)作为支撑。在大量样本下会有较好的示意,不合用于输入向量的特性前提有关联的场景。 根基头脑 (1)病人分类的例子 某个医院早上收了六个门诊病人,如下表: ![]() 此刻又来了第七个病人,是一个打喷嚏的构筑工人。叨教他患上伤风的概率有多大? 按照贝叶斯定理: ![]() 因此,这个打喷嚏的构筑工人,有66%的概率是得了伤风。同理,可以计较这个病人患上过敏或脑震荡的概率。较量这几个概率,就可以知道他最也许得什么病。 这就是贝叶斯分类器的根基要领:在统计资料的基本上,依据某些特性,计较各个类此外概率,从而实现分类。 (2)朴实贝叶斯分类器的公式 假设某个别有n项特性(Feature),别离为F1、F2、…、Fn。现有m个种别(Category),别离为C1、C2、…、Cm。贝叶斯分类器就是计较出概率最大的谁人分类,也就是求下面这个算式的最大值: ![]() 因为 P(F1F2…Fn) 对付全部的种别都是沟通的,可以省略,题目就酿成了求 ![]() 的最大值。 朴实贝叶斯分类器则是更进一步,假设全部特性都互相独立,因此 ![]() 上式等号右边的每一项,都可以从统计资料中获得,由此就可以计较出每个种别对应的概率,从而找出最或许率的谁人类。 固然”全部特性互相独立”这个假设,在实际中不太也许创立,可是它可以大大简化计较,并且有研究表白对分类功效的精确性影响不大。 (3)拉普拉斯滑腻(Laplace smoothing) 也就是参数为1时的贝叶斯预计,当某个分量在总样本某个分类中(调查样本库/实习集)从没呈现过,会导致整个实例的计较功效为0。为了办理这个题目,行使拉普拉斯滑腻/加1滑腻举办处理赏罚。 它的头脑很是简朴,就是对先验概率的分子(分另外计数)加1,分母加上种别数;对前提概率分子加1,分母加上对应特性的也许取值数目。这样在办理零概率题目的同时,也担保了概率和依然为1。 eg:假设在文天职类中,有3个类,C1、C2、C3,在指定的实习样本中,某个词语F1,在各个类中视察计数别离为=0,990,10,即概率为P(F1/C1)=0,P(F1/C2)=0.99,P(F1/C3)=0.01,对这三个量行使拉普拉斯滑腻的计较要领如下:
现实应用场景
朴实贝叶斯模子 朴实贝叶斯常用的三个模子有:
代码实现 基于多项式模子的朴实贝叶斯算法(在github获取) ![]() 测试数据集为MNIST数据集,获取地点train.csv 运行功效 ![]() 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |