版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spark实现贝叶斯算法实现贝叶斯算法本章要点本章要点一、分类算法一、分类算法二、贝叶斯公式二、贝叶斯公式三、朴素贝叶斯分类三、朴素贝叶斯分类四、四、Spark实现贝叶斯算法实现贝叶斯算法分类算法分类算法何为分类算法?简单来说,就是将具有某些特性的物体归类对应到何为分类算法?简单来说,就是将具有某些特性的物体归类对应到一个已知的类别集合中的某个类别上。从数学角度来说,可以做如一个已知的类别集合中的某个类别上。从数学角度来说,可以做如下定义:下定义:已知集合:已知集合: C=y 1 ,y 2 ,.,y n 和和 I=x 1 ,x 2 ,.,x m ,. ,确定映射,确定映射规则规则 y=f(x)
2、 ,使得任意,使得任意 x i I 有且仅有一个有且仅有一个 y j C 使得使得 y j =f(x i ) 成立。成立。其中,其中,C为类别集合,为类别集合,I为待分类的物体,为待分类的物体,f则为分类器,分类算法则为分类器,分类算法的主要任务就是构造分类器的主要任务就是构造分类器f。分类算法的构造通常需要一个已知类别的集合来进行训练,通常来分类算法的构造通常需要一个已知类别的集合来进行训练,通常来说训练出来的分类算法不可能达到说训练出来的分类算法不可能达到100%的准确率。分类器的质量的准确率。分类器的质量往往与训练数据、验证数据、训练数据样本大小等因素相关。往往与训练数据、验证数据、训练
3、数据样本大小等因素相关。分类算法分类算法举个例子,我们日常生活中看到一个陌生人,要做的第一件事情就举个例子,我们日常生活中看到一个陌生人,要做的第一件事情就是判断其性别,判断性别的过程就是一个分类的过程。根据以往的是判断其性别,判断性别的过程就是一个分类的过程。根据以往的生活经验,通常经过头发长短、服饰和体型这三个要素就能判断出生活经验,通常经过头发长短、服饰和体型这三个要素就能判断出来一个人的性别。这里的来一个人的性别。这里的“生活经验生活经验”就是一个训练好的关于性别就是一个训练好的关于性别判断的模型,其训练数据是日常生活中遇到的形形色色的人。突然判断的模型,其训练数据是日常生活中遇到的形
4、形色色的人。突然有一天,一个娘炮走到了你面前,长发飘飘,穿着紧身的衣裤,可有一天,一个娘炮走到了你面前,长发飘飘,穿着紧身的衣裤,可是体型却很是体型却很man,于是你就疑惑了,根据以往的经验,于是你就疑惑了,根据以往的经验也就是已也就是已经训练好的模型,无法判断这个人的性别。于是你学会了通过喉结经训练好的模型,无法判断这个人的性别。于是你学会了通过喉结来判断其性别,这样你的模型被训练的质量更高了。但不可否认的来判断其性别,这样你的模型被训练的质量更高了。但不可否认的是,永远会出现一个让你无法判断性别的人。所以模型永远无法达是,永远会出现一个让你无法判断性别的人。所以模型永远无法达到到100%的
5、准确,只会随着训练数据的不断增多而无限接近的准确,只会随着训练数据的不断增多而无限接近100%的的准确。准确。贝叶斯公式贝叶斯公式贝叶斯公式,或者叫做贝叶斯定理,是贝叶斯分类的基础。而贝叶贝叶斯公式,或者叫做贝叶斯定理,是贝叶斯分类的基础。而贝叶斯分类是一类分类算法的统称,这一类算法的基础都是贝叶斯公式。斯分类是一类分类算法的统称,这一类算法的基础都是贝叶斯公式。目前研究较多的四种贝叶斯分类算法有:目前研究较多的四种贝叶斯分类算法有:Naive Bayes、TAN、BAN和和GBN。理工科的学生在大学应该都学过概率论,其中最重要的几个公式中理工科的学生在大学应该都学过概率论,其中最重要的几个公
6、式中就有贝叶斯公式就有贝叶斯公式用来描述两个条件概率之间的关系,比如用来描述两个条件概率之间的关系,比如P(A|B)和和P(B|A)。如何在已知事件。如何在已知事件A和和B分别发生的概率,和事件分别发生的概率,和事件B发生时事件发生时事件A发生的概率,来求得事件发生的概率,来求得事件A发生时事件发生时事件B发生的概率,发生的概率,这就是贝叶斯公式的作用。其表述如下:这就是贝叶斯公式的作用。其表述如下:贝叶斯公式贝叶斯公式朴素贝叶斯分类朴素贝叶斯分类朴素贝叶斯分类,朴素贝叶斯分类,Naive Bayes,你也可以叫它,你也可以叫它NB算法。其核心思算法。其核心思想非常简单:对于某一预测项,分别计
7、算该预测项为各个分类的概想非常简单:对于某一预测项,分别计算该预测项为各个分类的概率,然后选择概率最大的分类为其预测分类。就好像你预测一个娘率,然后选择概率最大的分类为其预测分类。就好像你预测一个娘炮是女人的可能性是炮是女人的可能性是40%,是男人的可能性是,是男人的可能性是41%,那么就可以判,那么就可以判断他是男人。断他是男人。Naive Bayes的数学定义如下:的数学定义如下:1.设设 x=a 1 ,a 2 ,.,a m 为一个待分类项,而每个为一个待分类项,而每个 a i 为为 x 的一个的一个特征属性特征属性2.已知类别集合已知类别集合 C=y 1 ,y 2 ,.,y n 3.计算
8、计算 x 为各个类别的概率:为各个类别的概率: P(y 1 |x),P(y 2 |x),.,P(y n |x) 4.如果如果 P(y k |x)=maxP(y 1 |x),P(y 2 |x),.,P(y n |x) ,则,则 x 的类别为的类别为 y k 朴素贝叶斯分类朴素贝叶斯分类如何获取第四步中的最大值,也就是如何计算第三步中的各个条件如何获取第四步中的最大值,也就是如何计算第三步中的各个条件概率最为重要。可以采用如下做法:概率最为重要。可以采用如下做法:1.获取训练数据集,即分类已知的数据集获取训练数据集,即分类已知的数据集2.统计得到在各类别下各个特征属性的条件概率估计,即:统计得到在
9、各类别下各个特征属性的条件概率估计,即: P(a 1 |y 1 ),P(a 2 |y 1 ),.,P(a m |y 1 );P(a 1 |y 2 ),P(a 2 |y 2 ),.,P(a m |y 2 );.;P(a 1 |y n ),P(a 2 |y n ),.,P(a m |y n ) ,其中的数据可以是离,其中的数据可以是离散的也可以是连续的散的也可以是连续的3.如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导: P(y i |x)=P(x|y i )P(y i )P(x) 对于某对于某x来说,分母是固定的,所以只要找出分
10、子最大的即为条件来说,分母是固定的,所以只要找出分子最大的即为条件概率最大的。又因为各特征属性是条件独立的,所以有:概率最大的。又因为各特征属性是条件独立的,所以有: P(x|y i )P(y i )=P(a 1 |y i )P(a 2 |y i ).P(a m |y i )P(y i )=P(y i ) m j=1 P(a j |y i ) Spark实现贝叶斯算法测试数据测试数据0,1 0 00,2 0 00,1 0 0.10,2 0 0.20,1 0.1 00,2 0.2 01,0 1 0.11,0 2 0.2朴素贝叶斯分类朴素贝叶斯分类其中第一列代表类别,训练数据中有三种类别:其中第一
11、列代表类别,训练数据中有三种类别:0、1、2。第。第2-4列列代表数据的三个维度,可以想象成前文中性别分类算法中的头发长代表数据的三个维度,可以想象成前文中性别分类算法中的头发长度、服饰和体型这三个要素。通常来说为了保证每个要素的权值相度、服饰和体型这三个要素。通常来说为了保证每个要素的权值相差不大,需要取相对的数值,例如头发长度差不大,需要取相对的数值,例如头发长度/最长的头发长度。最长的头发长度。Spark实现贝叶斯算法实现贝叶斯算法public static void main(String args) SparkConf sparkConf = new SparkConf().setA
12、ppName(Bayes).setMaster(local2); JavaSparkContext sc = new JavaSparkContext(sparkConf); JavaRDD data = sc.textFile(/home/yurnom/data/sample_naive_bayes_data.txt); RDD parsedData = data.map(line - String parts = line.split(,); double values = Arrays.stream(parts1.split( ) .mapToDouble(Double:parseDouble) .toArray(); /LabeledPoint代表一条训练数据,即打过标签的数据代表一条训练数据,即打过标签的数据 return new LabeledPoint(Double.parseDouble(parts0), Vectors.dense(values); ).rdd(); Spark实现贝叶斯算法实现贝叶斯算法结果结果Accuracy=1.0Prediction of (0.5, 3.0, 0.5):1.0Prediction of (1.5, 0.4, 0.6):0.0Prediction of (0.3, 0.4, 2.6):2.0由于数据的人为捏造过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年紫竹二节箫项目可行性研究报告
- 2024年屏色宣项目可行性研究报告
- 2024年中国中沙摩托车方向把市场调查研究报告
- 2024年商业空间装修工程保密协议
- 2024煤炭市场交易协议模板
- 厂房租赁化协议模板2024
- 2024年政府安防监控设备采购协议
- 2024年度三方工程费用结算协议
- 2024年职业雇佣协议样式指南
- 部门内部场地出租协议模板2024年
- 消防控制室合并方案
- 印度尼西亚概况
- 变应性支气管肺曲霉病诊治专家-共识(2022年修订版)解读
- 队形队列及广播体操比赛评分表
- 2021年主题公园研究-环球影城
- 学校消防安全工作领导小组职责及具体分工
- 上海市徐汇区上海小学小学语文五年级上册期末试卷(含答案)
- 小学音乐-铃儿响叮当教学设计学情分析教材分析课后反思
- 太极拳英文介绍
- 建筑施工现场生活住宿区安全检查表
- 国家开放大学《政治学原理》章节自检自测题参考答案
评论
0/150
提交评论