您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第4讲数据分类-决策树
第4讲数据分类-决策树目录基本概念决策树ID3算法决策树C4.5算法2本周学习目标1.掌握数据分类的基本原理和评价指标2.了解两种决策树算法34定义数据分类是指把数据样本映射到一个事先定义的类中的学习过程即给定一组输入的属性向量及其对应的类,用基于归纳的学习算法得出分类分类问题是数据挖掘领域中研究和应用最为广泛的技术之一,如何更精确、更有效地分类一直是人们追求的目标数据分类的任务通过学习得到一个目标函数f,把每个属性集x映射到一个预先定义的类标号y5分类的示例两类分类示例银行业:区分高端信用卡和低端信用卡医疗诊断:区分正常细胞和癌细胞互联网:区分正常邮件和垃圾邮件多类分类示例油气传输:区分行人走过、汽车碾过、镐刨、电钻等行为文字识别:区分不同的字符(其中汉字识别是一个大类别问题)社会网络:区分中心用户、活跃用户、不活跃用户、马甲用户等6示例数据集数据集包含多个描述属性和一个类别属性一般来说描述属性:连续值或离散值类别属性:只能是离散值(目标属性连续对应回归问题)7AgeSalaryClass30highc125highc221lowc243highc118lowc233lowc1..................分类问题的形式化描述8},,,{m,,,d,,,),,,(d),,2,1(},,,2,1|),{(21212121miiididiiidiiiiiicccyxyAAAxxxxxxxtotalixtotaliyxX个类别,则假设给定数据集包含的类标号表示数据样本的具体取值个描述属性分别对应表示维特征向量用其中数据样本数据集分类的过程9获取数据预处理分类决策分类器设计获取数据数值型数据病例中的各种化验数据空气质量监测数据描述性数据人事部门档案资料图片型数据指纹、掌纹自然场景图片很多情况下,需要将上述数据统一转换为数值型数据序列,即形成特征向量(特征提取)10预处理为了提高分类的准确性和有效性,需要对分类所用的数据进行预处理去除噪声数据对空缺值进行处理数据降维(特征选择)--(PCA、LDA)11分类器设计1-划分数据集给定带有类标号的数据集,并且将数据集划分为两个部分训练集(trainingset)测试集(testingset)划分策略随机抽取法•2/1训练集/测试集8/1十交叉验证法(10-foldvalidation)•将数据集随机地划分为10组•之后执行10次循环,在第i次循环中,将第i组数据样本作为测试集,其余的9组数据样本作为训练集12分类器设计2-分类器构造利用训练集构造分类器(分类模型)通过分析由属性描述的每类样本的数据信息,从中总结出分类的规律性,建立判别公式或判别规则在分类器构造过程中,由于提供了每个训练样本的类标号,这一步也称作监督学习(supervisedlearning)13分类器设计3-分类器测试利用测试集对分类器的分类性能进行评估,具体方式是首先,利用分类器对测试集中的每一个样本进行分类其次,将分类得到的类标号和测试集中数据样本的原始类标号进行对比由上述过程得到分类器的分类性能(如何评价?)14分类决策在构造成功分类器之后(通过测试),则可以利用该分类器实际执行分类15分类的评价准则-约定和假设16jjjmiiiiiitestFPFNTPjcccyxyxNiyxX该类的样本数量是其他类别被错误分类为是被错误分类的样本数量是被正确分类的样本数量个类别,设定:对于测试集的第个类别,则假设分类问题含有的类标号;表示数据样本本;表示测试集中的数据样数;表示测试集中的样本个其中给定测试集},,,{mN},,,2,1|),{(21分类的评价准则-指标1精确度(accuracy)是最常用的评价准则代表测试集中被正确分类的数据样本所占的比例反映了分类器对于数据集的整体分类性能17NTPAccuracymjj1分类的评价准则-指标2查全率(recall)第j个类别的查全率(召回率)表示在本类样本中,被正确分类的样本占的比例代表该类别的分类精度18jjjjFNTPTPRecall分类的评价准则-指标3查准率(precision)第j个类别的查准率表示被分类为该类的样本中,真正属于该类的样本所占的比例代表该类别的分类纯度19jjjjFPTPTPPrecision分类的评价准则-指标4F-measure可以比较合理地评价分类器对每一类样本的分类性能它是查全率和查准率的组合表达式其中参数β是可以调节的,通常取值为120jjjjjPrecisionRecallPrecisionRecallmeasureF22)1(分类的评价准则-指标5几何均值(G-mean)它能合理地评价数据集的整体分类性能是各个类别查全率的平方根,当各个类别的查全率都大时才增大同时兼顾了各个类别的分类精度21mjjRecallmeanG1延伸阅读Jin-MaoWei,Xiao-JieYuan,etal.Anovelmeasureforevaluatingclassifiers,ExpertSystemswithApplications,37(2010):3799-380922关于数据分类的小结所谓分类即是使用某种分类模型,以对象的若干维描述属性为输入,经过计算输出该对象所属类别的过程数据分类的两个关键步骤是分类器训练:选定合适的分类模型及参数分类器测试:利用合适的指标检验分类器有效性目前已有一些成熟的分类器可供使用决策树支持向量机最近邻/k-近邻2324决策树是一种以给定的数据样本为基础的归纳学习方法在给定已知类标号的数据集的情况下,采用自顶向下的递归方式来产生一个类似于流程图的树结构树的最顶层节点是根节点最底层节点是叶节点:代表样本的类别根节点和叶节点之间的节点是内部节点决策树方法在根节点和内部节点上根据给定的度量标准来选择最适合的描述属性作为分支属性并根据该属性的不同取值向下建立分支25决策树示例-购买保险26A1-公司职员A2-年龄A3-收入A4-信誉度C-买保险否=40高良c2否=40高优c2否41~50高良c1否50中良c1是50低良c1是50低优c2是41~50低优c1否=40中良c2是=40低良c1是50中良c1是=40中优c1否41~50中优c1是41~50高良c1否50中优c2保险决策树解决了哪类人更倾向于购买保险的问题27年龄信誉度公司职员c1c1c2c1c2=4041~5050是否良优决策树向程序语言的转化if(年龄=40&&是公司职员)买保险if(年龄=40&&不是公司职员)不买保险if(年龄介于41~50之间)买保险if(年龄50&&信誉度为良)买保险if(年龄50&&信誉度为优)不买保险28ID3算法的原理核心思想在选择根节点和各个内部节点上的分支属性时,采用信息增益(informationgain)作为度量标准特别说明创建根节点时,X是最初给定的所有数据创建内部节点时,X是上层节点的某个分支对应的数据集29},,,{m,,,d,,,),,,(d),,2,1(},,,2,1|),{(21212121miiididiiidiiiiiicccyxyAAAxxxxxxxtotalixtotaliyxX个类别,则假设给定数据集包含的类标号表示数据样本的具体取值个描述属性分别对应表示维特征向量用其中数据样本数据集ID3算法的原理期望信息30mjjjmjjjjcPcPnnnIXtotalncPcXn1221))((log)(),,,()(:分类所需的期望信息为对给定数据集则各类别的先验概率为的样本数量,中属于是数据集假设ID3算法的原理熵熵值E(Af)越小,表示属性Af对数据集划分的纯度越高31的数据样本所占的比例中类别为表示在子集且其中所得的熵为:划分则描述属性的样本数量中属于类别表示子集中的样本数量表示子集设上具有相同取值中的样本在其中个子集划分为可以将利用个不同的取值具有设描述属性jssjsjsmjjsjsmssmssqsmssffjsjssssffsqfqffffcXnnpppnnInnItotalnnAEXAcXnXnaAXXXXqXAaaadfA1211112121)(log),,(),,()(},,,{},,,{q),,2,1(ID3算法的原理信息增益32)(),,,()(21fmffAEnnnIAGainA益为:划分数据集时的信息增利用描述属性ID3算法原理选择具有较高信息增益的描述属性作为给定数据集X的分支属性,从而创建决策树中的一个节点根据该描述属性的不同取值再创建分支之后对各个分支中的样本子集递归调用上述方法建立下一级子节点当某个分支上的所有数据样本都属于同一个类别时划分停止,形成叶节点或者当某个分支上的样本不属于同一个类别,但是又没有剩余的描述属性可以进一步划分数据集时也形成叶节点,并且用多数样本所属的类别来标记这个叶节点33ID3算法示例该样本集中共包含4个描述属性和1个类别属性,空间容量为14目标是利用ID3思想构建一棵可用于新样本分类的决策树34A1-公司职员A2-年龄A3-收入A4-信誉度C-买保险否=40高良c2否=40高优c2否41~50高良c1否50中良c1是50低良c1是50低优c2是41~50低优c1否=40中良c2是=40低良c1是50中良c1是=40中优c1否41~50中优c1是41~50高良c1否50中优c2第1步:计算对训练集分类所需的期望信息已知total=14c1(买保险)的样本数量是n1=9c2(不买保险)的样本数量是n2=5所以P(c1)=9/14P(c2)=5/14根据期望信息公式可得3594.0))145(log145)149(log149())((log)(),(2221221jjjcPcPnnI第2步:计算A1(公司职员)的熵A1包含两种取值:“是”和“否”利用A1可将X划分为两个子集X1和X2X1中的数据样本都是公司职员(7个)•标号为c1的有6个,n11=6•标号为c2的有1个,n21=1则可得•p11=6/7•p21=1/736A1-公司职员C-买保险否c2否c2否c1否c1是c1是c2是c1否c2是c1是c1是c1否c1是c1否c2592.0))71(log71)76(log76()(log),(22211212111jjjppnnI第2步:计算A1(公司职员)的熵利用A1可将X划分为两个子集X1和X2X2中的数据样本都不是公司职员(7个)•标号为c1的有3个,n12=3•标号为c2的有4个,n22=4则可得•p12=3/7•p22=4/737A1-公司职员C-买保险否c2否c2否c1否c1是c1是c2是c1否c2是c1是c1是c1否c1是c1否c2985.0))74(log74)73(log73()(log),(22212222212jjjppnnI第2步:计算A1(公司职员)的熵则计算出A1划分训练集所得的熵为38789.0985.0147592.0147),()(2121211sssssnnItotalnnAE第3步:计算A1(公司职员)的信息增益39151.0789.094.0)(),()(12111AEnnIAGainA益为:划分数据集时的信息增利用描述属性第4步:求出其他描述属性的信息增益Gain(A2)=0.246Gain(A3)=0.029Gain(A4)=0.048经比较可知Gain(A2)最大,所以选择A2(年龄)作为决策树的根节点进一步将树划分为3个分支40第5步:根据根节点划分数据集年龄=40的子集在此子
本文标题:第4讲数据分类-决策树
链接地址:https://www.777doc.com/doc-618786 .html