第4章Bayespt课件_第1页
第4章Bayespt课件_第2页
第4章Bayespt课件_第3页
第4章Bayespt课件_第4页
第4章Bayespt课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 microsoft 贝叶斯算法贝叶斯算法本章主要内容本章主要内容n贝叶斯算法能够用来研究模型中所有属性之间的关贝叶斯算法能够用来研究模型中所有属性之间的关系系n朴素贝叶斯算法的基本原理朴素贝叶斯算法的基本原理n如何使用参数调整贝叶斯算法如何使用参数调整贝叶斯算法n使用使用dmx创建贝叶斯模型创建贝叶斯模型n如何解释贝叶斯模型的结果如何解释贝叶斯模型的结果案例介绍案例介绍voting recordsnvoting records数据集包括已选择的议题,这些数据集包括已选择的议题,这些议题是议题是2002年众议院中用于选举而提出的,除了年众议院中用于选举而提出的,除了每次选举的结果每次

2、选举的结果(y、n或者弃权或者弃权(null),每一行,每一行都包含每个代表的姓名和党籍。详见都包含每个代表的姓名和党籍。详见p363n本章中,打算基于国会投票的历史记录,来确定国本章中,打算基于国会投票的历史记录,来确定国会议员的党籍属性是共和党会议员的党籍属性是共和党(republican)还是民还是民主党主党(democrat)。n案例的重点是哪些属性案例的重点是哪些属性(议题议题)可以用来区分议院的可以用来区分议院的党籍党籍探究数据探究数据n数据挖掘简单地说就是数据挖掘简单地说就是发现数据中的规律发现数据中的规律n不同的算法代表了不同类型的规律,这就是模型不同的算法代表了不同类型的规律

3、,这就是模型/模式模式n那么拿到一个新的数据集,该如何选择使用什么样那么拿到一个新的数据集,该如何选择使用什么样的模型来描述其中的规律呢?的模型来描述其中的规律呢?n最具有指导意义的一句话:最具有指导意义的一句话: 简单的方法通常能很简单的方法通常能很好地工作好地工作n在分析实际数据集时,建议采用在分析实际数据集时,建议采用“简单优先简单优先” 的的方法论方法论occam的剃刀的剃刀nwilliam of occam是一个圣芳济会的修道士,是一个圣芳济会的修道士,1280年出生在英格兰。年出生在英格兰。noccam用拉丁语讲到:用拉丁语讲到:“entia non sunt multiplica

4、nda sine necessitate”n越简单越好越简单越好n任何解释应做到:努力使原因的数目变成一个尽可任何解释应做到:努力使原因的数目变成一个尽可能的最小量。能的最小量。n这种推理的思路被称为这种推理的思路被称为occam的剃刀,意思是理的剃刀,意思是理个光头是最简单的个光头是最简单的occam的剃刀的剃刀n回顾开普勒发现行星运行三大定律的过程。回顾开普勒发现行星运行三大定律的过程。n数据挖掘的目的是找出数据背后隐藏的规律,用另数据挖掘的目的是找出数据背后隐藏的规律,用另外一种理解解释,就是外一种理解解释,就是去除数据中的冗余去除数据中的冗余。n用描述行星运动规律的数学公式表示行星运行

5、的用描述行星运动规律的数学公式表示行星运行的大量观测数据,去除了极大的冗余,并且公式具大量观测数据,去除了极大的冗余,并且公式具有可预测性。有可预测性。n当然在开普勒之前也有行星运行的规律,这就是托当然在开普勒之前也有行星运行的规律,这就是托勒密和亚里士多德的地心说。勒密和亚里士多德的地心说。occam的剃刀的剃刀n今天我们知道行星运动是以太阳为中心的椭圆,可今天我们知道行星运动是以太阳为中心的椭圆,可以想象,若将这个以太阳位置为原点的运动方程转以想象,若将这个以太阳位置为原点的运动方程转换到以地球这个不断变动的原点的坐标系中,得到换到以地球这个不断变动的原点的坐标系中,得到的方程将有多复杂!

6、的方程将有多复杂!n这也是开普勒当时的一个动机:如果将坐标原点设这也是开普勒当时的一个动机:如果将坐标原点设在太阳的位置,得到的方程将简洁的不能再简洁!在太阳的位置,得到的方程将简洁的不能再简洁!n得到数据集的最小冗余表示!得到数据集的最小冗余表示!探究数据探究数据n数据集能够展示很多不同的、简单的数据结构形式数据集能够展示很多不同的、简单的数据结构形式n在一个数据集中,也许只有一个属性承担了所有的在一个数据集中,也许只有一个属性承担了所有的工作,而其他的都是无关的冗余的属性工作,而其他的都是无关的冗余的属性(1r法法)n在另一个数据集里,所有属性也许是独立地,均等在另一个数据集里,所有属性也

7、许是独立地,均等地对最终结果作出贡献地对最终结果作出贡献(bayes方法方法)n第三个数据集里,也许拥有一个包含了几个属性的第三个数据集里,也许拥有一个包含了几个属性的简单逻辑结构,这个结构可以通过一个简单逻辑结构,这个结构可以通过一个决策树决策树得到得到探究数据探究数据n第四个数据集里,也许存在一些独立的规则,能将第四个数据集里,也许存在一些独立的规则,能将实例划分到不同的类实例划分到不同的类(规则集规则集)n第五个数据集里,也许展示出不同的属性子集间的第五个数据集里,也许展示出不同的属性子集间的依赖性依赖性(关联规则关联规则)n第六个数据集里,也许包含了一些数值属性间的线第六个数据集里,也

8、许包含了一些数值属性间的线性依赖关系性依赖关系(线性回归线性回归)n在第七个数据集里,归类到实例空间的具体区域也在第七个数据集里,归类到实例空间的具体区域也许要受控于实例间的距离许要受控于实例间的距离(基于实例的学习,如支基于实例的学习,如支持向量机持向量机)推断基本规则推断基本规则n有一个能从实例集里方便地找出非常简单分类规则有一个能从实例集里方便地找出非常简单分类规则的方法,称为的方法,称为“1规则规则”(1-rule),简称,简称1rn1r产生一层的产生一层的决策树决策树,用一个规则集的形式表示,用一个规则集的形式表示,只在某个特定的属性上进行测试只在某个特定的属性上进行测试n1r是一个

9、简单、廉价的方法,但常常能得到非常是一个简单、廉价的方法,但常常能得到非常好的规则用以描述存在于数据中的结构好的规则用以描述存在于数据中的结构n真实世界的数据集中的数据结构相当基本,仅用真实世界的数据集中的数据结构相当基本,仅用一个属性就足以准确地判断出一个实例的类一个属性就足以准确地判断出一个实例的类n在任何事例上,首先采用最简单的方法总是一个好在任何事例上,首先采用最简单的方法总是一个好计划计划推断基本规则推断基本规则n方法:建立一个只对单个属性进行测试的规测,并方法:建立一个只对单个属性进行测试的规测,并进行不同的分支。每一个分支对应一个不同的属性进行不同的分支。每一个分支对应一个不同的

10、属性值。分支的类就是训练数据在这个分支上出现最多值。分支的类就是训练数据在这个分支上出现最多的类。的类。n规则的误差率就是在训练数据上产生的错误:即不规则的误差率就是在训练数据上产生的错误:即不属于多数类的事例的数量。属于多数类的事例的数量。n每一个属性都会产生一个不同的规则集,每条规则每一个属性都会产生一个不同的规则集,每条规则对应这个属性的每个值对应这个属性的每个值n对每一个属性的规则集的误差率进行评估,从中选对每一个属性的规则集的误差率进行评估,从中选出性能最好的一个出性能最好的一个1r伪代码伪代码n对每个属性对每个属性n对于这个属性的每个属性值,建立如下的规则对于这个属性的每个属性值,

11、建立如下的规则n计算每个类别出现的频率计算每个类别出现的频率n找出出现最频繁的类别找出出现最频繁的类别n建立规则,将这个类别赋予这个属性值建立规则,将这个类别赋予这个属性值n计算规则的误差率计算规则的误差率n选择误差率最小的规则选择误差率最小的规则天气数据天气数据n天气问题是一个很小的数据集,假设可以进行某种天气问题是一个很小的数据集,假设可以进行某种体育运动的天气条件。体育运动的天气条件。n数据集中的样本由一些属性值来表示:阴晴,温度、数据集中的样本由一些属性值来表示:阴晴,温度、湿度和刮风,结论是是否能玩湿度和刮风,结论是是否能玩(yes,no)。n所有的属性值都是名词性值而不是数值所有的

12、属性值都是名词性值而不是数值n阴晴:阴晴:sunny、overcast、rainyn温度:温度:hot,mild,cooln湿度:湿度:high,normaln刮风:刮风:true,false天气数据天气数据评估天气数据中的属性评估天气数据中的属性属性属性规则规则误差误差总误差总误差1阴晴阴晴 sunny-no2/54/14 overcast-yes0/4 rainy-yes2/52气温气温 hot-no2/45/14 mild-yes2/6 cool-yes1/43湿度湿度 high-no3/74/14 normal-yes1/74刮风刮风 false-yes2/85/14 ture-no3

13、/6出现相等结论出现相等结论时任选一种时任选一种残缺值和数值属性残缺值和数值属性n虽然虽然ir方法是一个非常基本的学习算法,但是可适方法是一个非常基本的学习算法,但是可适用于残缺值和数值属性用于残缺值和数值属性n1r将残缺值作为另一个属性来处理将残缺值作为另一个属性来处理n例如天气数据在阴晴属性上存在残缺值,那么在例如天气数据在阴晴属性上存在残缺值,那么在阴晴属性上产生的规则集将指定阴晴属性上产生的规则集将指定4个可能的类值:个可能的类值:sunny、overcast、rainy和和null带有数值属性值的天气数据带有数值属性值的天气数据残缺值和数值属性残缺值和数值属性n对于数值属性,可以采用

14、一个简单的方法转换成名对于数值属性,可以采用一个简单的方法转换成名词性属性。词性属性。n将训练样本按照数值属性的值进行排序,产生一个将训练样本按照数值属性的值进行排序,产生一个类值的序列。类值的序列。n例如,根据温度属性值对数值版本的天气数据进行例如,根据温度属性值对数值版本的天气数据进行排序后产生的序列如下排序后产生的序列如下64 65 68 69 70 71 72 72 75 75 80 81 83 85y n y y y n n y y y n y y nn离散通过在这个序列上离散通过在这个序列上放置断点放置断点来达到分隔来达到分隔 残缺值和数值属性残缺值和数值属性n一种可行的方法是在类

15、值发生变化之处放置断点,一种可行的方法是在类值发生变化之处放置断点,产生出产生出8个范畴:个范畴:ny|n|y y y|n n|y y y|n |y y|nn将断点设置在两边样本之间的中间的位置:将断点设置在两边样本之间的中间的位置:64.5,66.5,70.5,72,77.5,80.5,84n问题:两个属性值为问题:两个属性值为72的实例拥有相同温度属性值,的实例拥有相同温度属性值,却属于不同的类别却属于不同的类别n简单的解决办法简单的解决办法:将处于:将处于72的断点向右移一个,的断点向右移一个,新的断点是新的断点是73.5,产生出一个混合的部分,其,产生出一个混合的部分,其中中no是多数

16、类是多数类残缺值和数值属性残缺值和数值属性n离散存在的一个严重问题是:离散存在的一个严重问题是:可能生成大量的类别可能生成大量的类别范畴范畴n1r算法将自然地倾向于选择能被分裂成很多范畴算法将自然地倾向于选择能被分裂成很多范畴的属性,因为它会将数据集分裂成很多部分,所以的属性,因为它会将数据集分裂成很多部分,所以实例与它们各自所在部分的多数类同属一类的可能实例与它们各自所在部分的多数类同属一类的可能性增大性增大n极端的例子是极端的例子是每个实例中一个属性拥有一个不同每个实例中一个属性拥有一个不同的值的值,如,如标识码属性标识码属性表示实例是唯一的。表示实例是唯一的。n它在训练数据上产生的误差概

17、率是它在训练数据上产生的误差概率是0,因为每个,因为每个部分有一个实例部分有一个实例列的值各不相同列的值各不相同n一个极端是列在每一行上一个极端是列在每一行上(几乎几乎)都不相同。都不相同。n这样的列精确区分每一行,例如这样的列精确区分每一行,例如n客户姓名客户姓名n地址地址n电话号码电话号码n客户身符证号码客户身符证号码n运输识别码运输识别码n由于每一个记录上这些数值几乎不同,所以它们妨由于每一个记录上这些数值几乎不同,所以它们妨碍了数据挖掘算法从不同行间找出规律碍了数据挖掘算法从不同行间找出规律.列的值各不相同列的值各不相同n这些列也可能包含了大量信息这些列也可能包含了大量信息n电话号码和

18、地址包含地理信息电话号码和地址包含地理信息n发动机的识别号码包含了生产年份、制造商、型发动机的识别号码包含了生产年份、制造商、型号和原产地等信息号和原产地等信息n客户号码也可能可以知道哪些是最新客户客户号码也可能可以知道哪些是最新客户n回忆身份证编码规则和学号编码规则回忆身份证编码规则和学号编码规则n在这种情况下,重要的特性应该作为在这种情况下,重要的特性应该作为派生变量派生变量提取提取出来,而忽略原始列出来,而忽略原始列列的值列的值(几乎几乎)都相同都相同n只有一种值的列只有一种值的列n单值的列单值的列对于区分不同行不包含任何信息对于区分不同行不包含任何信息。因为。因为它们缺乏任何信息内容,

19、在数据挖掘中应该忽略它们缺乏任何信息内容,在数据挖掘中应该忽略n情况情况n预留字段可能全部都是预留字段可能全部都是“null”或者或者“0”n选取一个数据子集,如广东的客户,则地区代码选取一个数据子集,如广东的客户,则地区代码都是都是“gd”n在本章的例子中,在本章的例子中,如果共和党和民主党都投某个议如果共和党和民主党都投某个议案的赞成票,则无法用有关这个议案的投票情况来案的赞成票,则无法用有关这个议案的投票情况来区分民主党和共和党议员区分民主党和共和党议员。过度拟合过度拟合n高度分支的属性通常不能在测试样本上有很好的表高度分支的属性通常不能在测试样本上有很好的表现:实际上标识码属性将不能可

20、在训练实例以外的现:实际上标识码属性将不能可在训练实例以外的样本上产生正确的预测。样本上产生正确的预测。n这种现象被称为这种现象被称为过过(度度)拟合拟合(overfitting)过度拟合过度拟合n过拟合在实践中是一个重要的问题,产生的原因可过拟合在实践中是一个重要的问题,产生的原因可能是能是n噪声导致的过拟合噪声导致的过拟合n缺乏代表性样本导致的过拟合缺乏代表性样本导致的过拟合n由于存在过拟合问题,所以我们在构建模型时往往由于存在过拟合问题,所以我们在构建模型时往往允许模型有一定的误差,而不是完全精确。允许模型有一定的误差,而不是完全精确。n完全精确的模型可能记忆了太多的噪声数据完全精确的模

21、型可能记忆了太多的噪声数据n需要在过度拟合与模型误差之间取得一个平衡,这需要在过度拟合与模型误差之间取得一个平衡,这涉及到如何评价模型的问题。涉及到如何评价模型的问题。残缺值和数值属性残缺值和数值属性n对于对于1r算法,当一个属性存在大量可能值时,过算法,当一个属性存在大量可能值时,过度拟合就可能发生。度拟合就可能发生。n当离散一个数值属性的时候,需要采用一条规则来当离散一个数值属性的时候,需要采用一条规则来规定规定每个范畴上的多数类样本所需达到的最小数量每个范畴上的多数类样本所需达到的最小数量。n例如设置最小样本数量为例如设置最小样本数量为3n分段过程以下述形式开始:分段过程以下述形式开始:

22、nyes no yes yes|yes.n在第一段中,确保多数类在第一段中,确保多数类yes出现出现3次,后续实例次,后续实例也是也是yes,所以合并到第一段,所以合并到第一段ny n y y y|n n y y y|n y y n残缺值和数值属性残缺值和数值属性n新产生的分离结果是新产生的分离结果是ny n y y y|n n y y y|n y y nn除了最后一段,每一段至少包括除了最后一段,每一段至少包括3个属于多数类的个属于多数类的实例。通常在最后一段会出现少于实例。通常在最后一段会出现少于3个多数类实例个多数类实例的情况。的情况。n分隔的边界一般要落在两个不同类的样本之间分隔的边界

23、一般要落在两个不同类的样本之间n当相邻的段拥有相同的多数类时,将它们合并并不当相邻的段拥有相同的多数类时,将它们合并并不会影响规则集的意义。最终的离散结果是会影响规则集的意义。最终的离散结果是ny n y y y n n y y y|n y y n残缺值和数值属性残缺值和数值属性n最终的离散结果是最终的离散结果是ny n y y y n n y y y|n y y nn从中产生的规则集是从中产生的规则集是ntemperature: yesntemperature: 77.5 -non由于第二段中由于第二段中n和和y出现的次数相同,所以随机地选出现的次数相同,所以随机地选择一个。如果选择择一个。

24、如果选择yes,将没有必要使用任何断点。,将没有必要使用任何断点。n这个规则在训练数据集上产生了这个规则在训练数据集上产生了5个错误,不如在个错误,不如在阴晴属性上产生的规则有效阴晴属性上产生的规则有效残缺值和数值属性残缺值和数值属性n使用同样方法在湿度属性上产生的规则如下使用同样方法在湿度属性上产生的规则如下nhumidity: yesnhumidity: 82.5 & nonhumidity: 95.5 -yesn这个规则在训练集上之产生了这个规则在训练集上之产生了3个错误,是天气数个错误,是天气数据上最好的据上最好的“1规则规则”统计建模统计建模n1r方法使用单个属性作为决策的依

25、据,并且选择方法使用单个属性作为决策的依据,并且选择其中工作性能最好的那个属性。其中工作性能最好的那个属性。n另一个简单技术是对于一个给定的类,另一个简单技术是对于一个给定的类,使用所有属使用所有属性,让它们对决策作出同等重要、彼此独立的贡献性,让它们对决策作出同等重要、彼此独立的贡献。n当然,现实中的数据集里的属性并不同等重要,也当然,现实中的数据集里的属性并不同等重要,也不彼此独立不彼此独立(作出这种结论是需要验证的作出这种结论是需要验证的)。但是这。但是这种思想引出一个简单方案,而且在实际中表现极佳种思想引出一个简单方案,而且在实际中表现极佳n下面给出一个天气数据的汇总,它统计了每种属性

26、下面给出一个天气数据的汇总,它统计了每种属性值配对和玩的每个属性值值配对和玩的每个属性值(yes和和no)统计建模统计建模阴晴阴晴温度温度湿度湿度刮风刮风玩玩sunnycoolhightrue?通过已有的数据来判断新的一天玩的情况通过已有的数据来判断新的一天玩的情况统计建模统计建模n假设我们认为天气数据表中的假设我们认为天气数据表中的5个属性是同等重要、个属性是同等重要、彼此独立的,则将与其对应的分数相乘彼此独立的,则将与其对应的分数相乘nyes的似然:的似然:2/9*3/9*3/9*3/9*9/14=0.0053nno的似然:的似然:3/5*1/5*4/5*3/5*5/14=0.0206贝叶

27、斯规则贝叶斯规则n新的一天要么可以玩,要么不可以玩。所以通过规新的一天要么可以玩,要么不可以玩。所以通过规范化将这两个结果转换成概率,使它们的概率之和范化将这两个结果转换成概率,使它们的概率之和为为1。nyes的概率的概率=0.0053/(0.0053+0.0206)=20.5%nno的概率的概率=0.0206/(0.0053+0.0206)=79.5%n对于这个新的一天,玩是对于这个新的一天,玩是no的可能性是的可能性是yes的的4倍倍n以上的简单而且直观的方法基于以上的简单而且直观的方法基于有条件概率的贝叶有条件概率的贝叶斯规则斯规则。贝叶斯规则贝叶斯规则n贝叶斯规则指出,如果存在一个假说

28、贝叶斯规则指出,如果存在一个假说h,和基于假,和基于假设的例证设的例证e,则,则npra指事件指事件a发生的概率,发生的概率,pra|b是基于另一是基于另一事件事件b发生,事件发生,事件a发生的概率。假说发生的概率。假说h为玩的结果为玩的结果是是yes,那么,那么prh|e将是将是20.5% prpr|pr|prehheeh贝叶斯规则贝叶斯规则n例证例证e是新的一天的属性值的特定组合:阴晴是新的一天的属性值的特定组合:阴晴=sunny,温度度,温度度=cool,湿度,湿度=high,刮风,刮风=true。这。这4个例证分别用个例证分别用e1、e2、e3和和e4表示。表示。n假设这些例证是独立的

29、,将概率相乘后就得到它们假设这些例证是独立的,将概率相乘后就得到它们的组合概率:的组合概率:n分母部分会在最后的单位化步骤中被消除。分母部分会在最后的单位化步骤中被消除。prpr*|pr*|pr*|pr*|pr|pr4321eyesyeseyeseyeseyeseeyes贝叶斯规则贝叶斯规则n最后的最后的pryes是在不知道任何例证是在不知道任何例证e的情况下,的情况下,结论是结论是yes的概率,也就是对于所涉及的特定日期的概率,也就是对于所涉及的特定日期的情况一无所知,称为假说的情况一无所知,称为假说h的的先验概率先验概率。n在这个例子中,先验概率是在这个例子中,先验概率是9/14,因为,因

30、为14个训练个训练样本里有样本里有9个样本的玩属性是个样本的玩属性是yes。prpr*|pr*|pr*|pr*|pr|pr4321eyesyeseyeseyeseyeseeyespr14/9*9/3*9/3*9/3*9/2|preeyes朴素贝叶斯朴素贝叶斯n这种方法称为朴素贝叶斯这种方法称为朴素贝叶斯(nave bayes),因为它,因为它基于贝叶斯规则并基于贝叶斯规则并“朴素朴素”地假设属性独立。地假设属性独立。n只有当事件彼此独立时,概率相乘才是有效的只有当事件彼此独立时,概率相乘才是有效的n属性独立的假设,在现实生活中是过于简单的假属性独立的假设,在现实生活中是过于简单的假设,但在实际

31、数据集上进行测试时,朴素贝叶斯设,但在实际数据集上进行测试时,朴素贝叶斯工作的非常好,尤其是去掉输入属性中的冗余成工作的非常好,尤其是去掉输入属性中的冗余成分后分后朴素贝叶斯朴素贝叶斯n如果某个属性值没有联合每一个类值一起出现在训如果某个属性值没有联合每一个类值一起出现在训练集里,朴素贝叶斯法将出错。练集里,朴素贝叶斯法将出错。n在一个不同的天气数据集中,所有训练数据的属性在一个不同的天气数据集中,所有训练数据的属性值阴晴值阴晴=sunny,总是伴随结论,总是伴随结论no。n属性值阴晴属性值阴晴=sunny是是yes的概率的概率prsunny|yes是是0。概率。概率0会超过其它的概率掌握了否

32、决权。会超过其它的概率掌握了否决权。n根据频率来计算概率的方法进行小的调整,可以弥根据频率来计算概率的方法进行小的调整,可以弥补这个缺陷。补这个缺陷。,n上表中给出了每个属性的每种取值对应的频率。在上表中给出了每个属性的每种取值对应的频率。在每个分子上加上每个分子上加上1,在分母上加上所有取值的总个,在分母上加上所有取值的总个数。数。n例如对于阴晴属性,例如对于阴晴属性,sunny、overcast和和rainy出出现的频率分别是现的频率分别是2/9、4/9、3/9。给每个分子加。给每个分子加上上1,分母加上,分母加上3,得到的概率分别是,得到的概率分别是n3/12、5/12、4/12n在每个

33、分子上加在每个分子上加1保证当一个属性值出现保证当一个属性值出现0次时,得次时,得到一个很小但是非到一个很小但是非0的概率。的概率。n在每一个计数结果上加在每一个计数结果上加1的方法是一个标准的技术,的方法是一个标准的技术,称为拉普拉斯估计器称为拉普拉斯估计器(laplace estimator)。n更一般的,使用一个很小的常量更一般的,使用一个很小的常量n在实践中,只要训练实例的数量合理,使用不同的在实践中,只要训练实例的数量合理,使用不同的几乎没有差别。几乎没有差别。93/3,93/4,93/2残缺值残缺值n使用贝叶斯公式的一个优势是可以很自然地处理残使用贝叶斯公式的一个优势是可以很自然地

34、处理残缺值。缺值。n例如如果表中阴晴的属性是残缺值,计算时只要省例如如果表中阴晴的属性是残缺值,计算时只要省略这个属性,结果是:略这个属性,结果是:nyes的似然的似然=3/9*3/9*3/9*9/14=0.0238nno的似然的似然=1/5*4/5*3/5*5/14=0.0343n这两个值分别比前面的计算值大很多,原因是缺少这两个值分别比前面的计算值大很多,原因是缺少了其中的一个分数。不过问题在于最终还要做规范了其中的一个分数。不过问题在于最终还要做规范化化nyes的似然的似然41%,no的似然的似然59%,microsoft naive bayes 算法算法nmicrosoft naive

35、 bayes 算法是算法是 ssas 提供的一提供的一种分类算法,用于预测性建模。种分类算法,用于预测性建模。n该算法在假定列互不相关的前提下计算输入列和可该算法在假定列互不相关的前提下计算输入列和可预测列之间的条件概率。预测列之间的条件概率。n该算法的名称该算法的名称 naive bayes 即由这一无关性假定即由这一无关性假定而来,因为基于这种理想化的假定,该算法未将可而来,因为基于这种理想化的假定,该算法未将可能存在的依赖关系考虑在内。能存在的依赖关系考虑在内。 microsoft naive bayes 算法算法n与其他与其他 microsoft 算法相比,该算法所需的运算量算法相比,

36、该算法所需的运算量小,因而能够快速生成挖掘模型,以发现输入列和小,因而能够快速生成挖掘模型,以发现输入列和可预测列之间的关系。可预测列之间的关系。n可以使用该算法进行初始数据探测,然后根据该算可以使用该算法进行初始数据探测,然后根据该算法的结果使用其他运算量较大、更加精确的算法创法的结果使用其他运算量较大、更加精确的算法创建其他挖掘模型。建其他挖掘模型。示例示例n作为正在进行的促销策略,作为正在进行的促销策略,adventure works cycle 公司的市场部已经决定通过发送宣传资料将公司的市场部已经决定通过发送宣传资料将目标定位为潜在的客户。目标定位为潜在的客户。n为了降低成本,他们只

37、向有可能做出反应的客户发为了降低成本,他们只向有可能做出反应的客户发送宣传资料。送宣传资料。n该公司将有关客户统计数据以及对上一邮件的反映该公司将有关客户统计数据以及对上一邮件的反映的信息存储在数据库中。他们希望利用这些数据将的信息存储在数据库中。他们希望利用这些数据将潜在客户和具备相同特征并曾经购买过公司产品的潜在客户和具备相同特征并曾经购买过公司产品的客户进行对比,以了解年龄和位置等统计数据如何客户进行对比,以了解年龄和位置等统计数据如何帮助预测客户对促销的响应。帮助预测客户对促销的响应。示例示例nadventure works cycle 公司希望找出购买自行公司希望找出购买自行车的客户

38、与未购买自行车的客户之间的差别。车的客户与未购买自行车的客户之间的差别。n使用使用 microsoft naive bayes 算法,市场部能够算法,市场部能够快速预测特定客户群的结果,进而确定最有可能对快速预测特定客户群的结果,进而确定最有可能对邮件做出响应的客户。邮件做出响应的客户。n使用使用 bi dev studio 中的中的 naive bayes 查看器,查看器,能够以直观的方式专门调查哪些输入列有助于对宣能够以直观的方式专门调查哪些输入列有助于对宣传资料做出积极响应。传资料做出积极响应。 算法的原理算法的原理n在给定可预测列的各种可能状态的情况下,在给定可预测列的各种可能状态的情

39、况下,microsoft naive bayes 算法将计算每个输入列算法将计算每个输入列的每种状态的概率。的每种状态的概率。n使用使用 bi dev studio 中的中的 microsoft naive bayes 查看器可以直观地观察算法分布状态的方式,查看器可以直观地观察算法分布状态的方式,如下图所示。如下图所示。nmicrosoft naive bayes 查看器可列出数据集中查看器可列出数据集中的每个输入列。的每个输入列。n如果提供了可预测列的每种状态,它还会显示每一如果提供了可预测列的每种状态,它还会显示每一列中状态的分布情况。可以利用该视图确定在区分列中状态的分布情况。可以利用

40、该视图确定在区分可预测列状态中具有重要作用的输入列。可预测列状态中具有重要作用的输入列。n例如,此图的例如,此图的 commute distance 列中,通勤距列中,通勤距离为一至二英里的客户购买自行车的概率是离为一至二英里的客户购买自行车的概率是 0.387,不购买自行车的概率是不购买自行车的概率是 0.287。n本例中,该算法使用从诸如上下班路程之类的客户本例中,该算法使用从诸如上下班路程之类的客户特征得出的数字信息来预测客户是否会购买自行车。特征得出的数字信息来预测客户是否会购买自行车。使用算法使用算法nnaive bayes 模型必须包含一个键列、若干输入模型必须包含一个键列、若干输

41、入列以及一个可预测列。列以及一个可预测列。n所有列都必须是离散列或经过离散化的列。所有列都必须是离散列或经过离散化的列。naive bayes 算法的参数算法的参数nmaximum_input_attributesn指定算法在调用功能选择之前可以处理的最大输指定算法在调用功能选择之前可以处理的最大输入属性数。入属性数。n如果目前的属性个属比这个参数值还要大,则该如果目前的属性个属比这个参数值还要大,则该算法将会选择最重要的属性作为输入,忽略剩下算法将会选择最重要的属性作为输入,忽略剩下的属性。的属性。n如果将此值设置为如果将此值设置为 0,则为输入属性禁用功能选,则为输入属性禁用功能选择。择。

42、n默认值为默认值为 255。naive bayes 算法的参数算法的参数nmaximum_output_attributesn指定算法在调用功能选择之前可以处理的最大输指定算法在调用功能选择之前可以处理的最大输出属性数。出属性数。n如果目前的属性个属比这个参数值还要大,则该如果目前的属性个属比这个参数值还要大,则该算法将会选择最重要的属性作为输入,忽略剩下算法将会选择最重要的属性作为输入,忽略剩下的属性。的属性。n如果将此值设置为如果将此值设置为 0,则为输出属性禁用功能选,则为输出属性禁用功能选择。择。n默认值为默认值为 255。naive bayes 算法的参数算法的参数nmaximum_

43、statesn指定算法支持的最大属性状态数。如果属性的状指定算法支持的最大属性状态数。如果属性的状态数大于该最大状态数,算法将使用该属性的最态数大于该最大状态数,算法将使用该属性的最常见状态,并将剩余状态视为不存在。常见状态,并将剩余状态视为不存在。n默认值为默认值为 100。naive bayes 算法的参数算法的参数nminimum_dependency_probabilityn指定指定输入属性和输出属性之间的最小依赖关系概输入属性和输出属性之间的最小依赖关系概率率。该值用于限制算法生成的内容大小。该值用于限制算法生成的内容大小(去除与去除与输出属性相关不大的输入属性输出属性相关不大的输入

44、属性)。n该属性可设置为介于该属性可设置为介于 0 和和 1 之间的值。该值越之间的值。该值越大,模型内容中的属性数就越少。大,模型内容中的属性数就越少。n默认值为默认值为 0.5。4.4.1 dmxn注意注意microsoft_naive_bayes算法只支持离散的算法只支持离散的属性,所以任何联系的输入列或者输出列必须离散属性,所以任何联系的输入列或者输出列必须离散化后才可以供该算法使用。化后才可以供该算法使用。n使用下述语句来创建投票问题的数据挖掘模型使用下述语句来创建投票问题的数据挖掘模型创建模型创建模型create mining model votingrecordsid long

45、key,party text discrete predict,campaign finance overhaul text discrete,unemployment and tax benefits text discrete,. using microsoft_naive_bayesn问题:太多字段要输入,有没有简单的办法?问题:太多字段要输入,有没有简单的办法?训练模型训练模型n如果源表中所有的列与模型中的列是一样的,并且如果源表中所有的列与模型中的列是一样的,并且源表中列与模型中列的顺序是一样的,则可以化简源表中列与模型中列的顺序是一样的,则可以化简insert into语句,不需要

46、知道任何列的名字语句,不需要知道任何列的名字insert into votingrecordsopenquery(voting records,select * from votingrecords)数据的使用数据的使用n通常的数据分析方法将已知数据集分为三个部分:通常的数据分析方法将已知数据集分为三个部分:n训练集训练集(training set):用于建立模型:用于建立模型n验证集验证集(validation set):用于筛选出模型集中:用于筛选出模型集中最好的一个模型最好的一个模型n测试集测试集(test set):用于确定模型在未使用数据:用于确定模型在未使用数据上的工作情况上的工作

47、情况4.4.2 理解贝叶斯模型的内容理解贝叶斯模型的内容模型模型党派党派death taxhelp america vote民主党民主党共和党共和党赞成赞成 214反对反对 4赞成赞成 41反对反对 166层次层次1:模型:模型层次层次2:输出:输出层次层次3:输入:输入层次层次4:输出状态:输出状态4.4.3 浏览贝叶斯模型浏览贝叶斯模型nssas 中的中的 microsoft naive bayes 查看器显示查看器显示使用使用 microsoft naive bayes 算法生成的挖掘模算法生成的挖掘模型。型。n在在 analysis services 中浏览挖掘模型时,该模型中浏览挖掘

48、模型时,该模型会使用模型的相应查看器,显示在数据挖掘设计器会使用模型的相应查看器,显示在数据挖掘设计器的的“挖掘模型查看器挖掘模型查看器”选项卡上。选项卡上。n由于由于 naive bayes 模型的主要用途之一是提供一模型的主要用途之一是提供一种快速浏览数据集中数据的方法,因此种快速浏览数据集中数据的方法,因此 microsoft naive bayes 查看器提供了多种方法来显示可预查看器提供了多种方法来显示可预测属性与事例表的输入属性之间的交互。测属性与事例表的输入属性之间的交互。4.4.3 浏览贝叶斯模型浏览贝叶斯模型nmicrosoft naive bayes 查看器提供了以下用于查

49、看器提供了以下用于浏览数据的选项卡:浏览数据的选项卡:n依赖关系依赖关系n属性配置文件属性配置文件n属性特征属性特征n属性对比属性对比依赖关系网络视图依赖关系网络视图n“依赖关系网络依赖关系网络”选项卡显示模型中的输入属性与选项卡显示模型中的输入属性与可预测属性之间的依赖关系。可预测属性之间的依赖关系。n查看器左侧的滑块可起到与依赖关系强度相联系的查看器左侧的滑块可起到与依赖关系强度相联系的筛选器的作用。降低滑块将只显示最强链接。筛选器的作用。降低滑块将只显示最强链接。 n选择一个节点后,查看器将突出显示该节点特定的选择一个节点后,查看器将突出显示该节点特定的依赖项。依赖项。n例如,如果选择一个可预测节点,查看器也将突例如,如果选择一个可预测节点,查看器也将突出显示有助于预测该可预测节点的各个节点。出显示有助于预测该可预测节点的各个节点。 依赖关系网络视图依赖关系网络视图n查看器底部的图例说明了图表中不同颜色代码所代查看器底部的图例说明了图表中不同颜色代码所代表的依赖关系类型。表的依赖关系类型。n例如,如果选择一个可预测节点,该节点将呈青例如,如果选择一个可预测节点,该节点将呈青绿色,而预测所选节点的节点呈橙色。绿色,而预测

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论