版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程教案课程名称:大数据分析技术课程类型:专业核心课程上课时间:2024至2025学年第2学期授课对象:22级应用统计学23级数据科学与大数据技术23级应用统计学教师姓名:所属院部:数学与计算机学院第五章树结构模型§1决策树§2随机森林§3轻梯度提升机器教案教学过程设计第一课时一、引入:树结构模型主讲教师教学思路向导时间4分钟树结构模型是指基于决策树的机器学习模型。这类模型有着十分优良而又独特的性质,比如一般都具有精度高、抗干扰、数据不必标准化等特点,具有评估变量重要性的功能。树结构模型中,决策树是基学习器。通过对决策树(CART)的集成又发展为丰富的集成学习方法。当前对决策树集成的常见方法有三种:装袋方法(bagging)、提升方法(boosting)和堆叠方法(stacking),其中stacking方法并非是仅对决策树的集成,而是将多个模型、多类模型集成为一个强学习器。决策树经装袋方法集成而得的树结构模型是耳熟能详的随机森林(RandomForest);经提升方法集成的模型相对丰富,常见的有梯度提升树(GBDT)、极端梯度提升树(XGBoost)、轻梯度提升机器(lightGBM)、类别梯度提升树(CatBoost),等。这些模型之间的逻辑图示如下。本节介绍决策树模型。决策树是一种基于树结构的分类和回归方法,其基本原理是通过不断地选择最具有判别性的属性或特征,将数据集划分成多个小的、纯度较高的子集,直到所有样本都被归类到叶子节点上,形成一个树形结构。决策树的优势在于易于理解和解释,具有较好的可读性和可视化性二、决策树:决策树的数学原理主讲学生1教学思路向导时间15分钟引例:房地产开发方案的抉择某房地产开发公司对某一地块拟定两种开发方案。A方案:一次性开发多层住宅45000平方米,需投入总成本费用9000万元,开发时间18个月。B方案:将地块分两期开发。一期开发高层住宅36000平方米,需投入总成本费用8100万元,开发时间15个月。如果一期销路好,则二期继续开发高层住宅36000平方米,投入总费用8100万元;如果一期销路差,或者暂停开发,或者开发多层住宅22000平方米,投入总费用4600万元,开发时间15个月。两方案销路好和销路差时的售价和销量情况见下表4.1。根据经验,多层住宅销路好的概率为0.7,高层住宅销路好的概率为0.6,暂停开发每季损失10万元,季利率2%。表5.1两方案售价和销量情况开发方案建筑面积(万m2)销路好销路差售价销售率售价销售率A方案多层4.54800100%430080%B方案一期高层3.65500100%500070%二期一期销路好高层3.65500100%一期销路差多层2.24800100%430080%停建利率r期数n的年金现值系数PA,r,n和折现系数表5.2年金现值系数和折现系数n456121518(P/A,2%,n)3.8084.7135.60110.57512.84914.992(P/F,2%,n)0.9240.9060.8880.7880.7430.700试回答如下问题(计算结果保留两位小数):(1)假定销售收入在开发时间内均摊,那么两个方案在销路好和销路差时的季平均销售收入各为多少万元?(2)试为开发商应采用哪个方案提出建议。解答见于课程资料部分。决策树的概念1.定义决策树是由决策和树两个概念组合而成的。所谓决策(DecisionMaking),简言之就是做出决定或选择;详细一点的说法,就是从若干方案中选出最优方案;广义上的含义是指提出问题、确立目标、设计符合目标的解决问题的方案、从所设计的方案中选出最优方案的过程。决策树,简言之就是决策过程形似一棵树。详细说来,决策树是一种直观的以概率为分析工具进行决策的图解法,由于决策过程遵循if-then规则,所以决策过程画成图形很像一棵树,故称决策树。从功能上来看,决策树是一种数据挖掘算法,是一种非参数的监督学习方法,是一个预测模型,它主要用于分类和回归。2.决策树的画法:案例某公司计划生产销售电脑桌,需投资30万元。电脑桌售价是100元/张。当市场行情好的时候能卖出8000张电脑桌,销售收入共计80万元;当市场行情不好的时候能卖出1000张,销售收入共计10万元。用概率树来表示,即如图5.2所示。图5.2投资及市场行情下的收入图5.3投资及市场行情可能情形下的收入经验表明市场行情好的概率是0.4,市场行情不好的概率是0.6。于是在图4.2的树枝上标出相应的概率,如图5.3所示。为了增加销售量,公司想到了上电视做广告,广告的费用是40万元。市场行情好的时候,上电视做广告销售额将会达到320万元(概率是0.3);不上电视则依然是80万元(概率是0.7)。市场行情不好的时候,上电视做广告销售额能达40万元(概率为是0.25);不上电视则依然是10万元(概率是0.75)。到此,概率树就成长为下图的样子了。现在公司计划聘请一家调查机构对当前的市场行情进行调查,以了解当前的市场行情是好还是坏,聘请调查机构的成本是5万元。公司不知道这5万元值不值得花。本案例决策树画法的步骤如下:其中图详见课程资料。(1)列出备选方案:从第一个决定开始,在本例中,就是决定到底要不要花钱请机构调查市场行情。备选方案:调查,成本为5万元;不调查,成本为0。(2)从图5.5顶端的分枝继续画。如果调查,会发生哪些情况呢?当然是调查结果是行情好或行情不好。因为调查结果不是公司能掌控的,具有不确定性,因此“调查”的紧后节点是机会节点,用圆圈来标记,在该节点处分裂为“调查结果:市场行情好”和“调查结果:市场行情不好”两枝,如图5.6所示。(3)在每个调查结果中,公司会决定购买设备,或者不购买设备:市场景气的时候,投资30万元购买设备将会有80万元的收入,不投资则收入为0;市场不景气的时候,投资30万元将会有10万元的收入,不投资则收入为0。(4)下面继续从图5.7顶端的分枝继续画。在“投资”一枝,公司考虑是否上电视做广告。按“上电视做广告”和“不上电视做广告”继续分枝。因为“上电视做广告”和“不上电视做广告”之后都不再有备选方案,就在两枝末端画出一个三角形,表示结果节点(也称为叶节点),在旁边标出相应方案的结果,即对应的收入。在“不投资”一枝,公司不会考虑上电视做广告,所以之后没有分枝,该枝直接延伸至最右端的叶节点,相应收入为0。决策树的绘制结果如图所示。3.量化不确定性4.确定目标一般来说,目标就是选择最优的方案。本例就是从10个方案中求出收入的期望值最高的方案。5.决策树的求解6.总结决策树模型的建立及求解有4个步骤:(1)画决策树:通过画树图的方式列出所有可能的备选方案,并在分支线上标注相应的子方案及其“代价”,在结果节点上标注每个方案的“收益”;(2)量化不确定性:确定每个方案发生的概率,并标注在相应的树枝上;(3)确定目标:决策树是优化问题的一种描述方式,自然地其目标一般也是极大化“收益”或极小化“成本”;(4)求解决策树:从结果逆向操作,计算出每个备选方案的期望值,然后对比各个期望值,选出最优方案。(三)信息论基础第二小节中讲述的案例,数据规模小,容易计算。当数据规模大,备选方案多时,这种方式求解决策树将会比较困难。本小节介绍决策树的通用求解算法。首先,我们需要熟悉信息论中熵的概念。1.熵(entropy)熵是信息论中的一个基本概念,它度量了事物的不确定性。越不确定的事物,它的熵就越大。具体的,随机变量X的熵的定义式如下:5.1比如,抛一枚硬币为事件T,记T=1为出现正面,T=0为出现反面,则T的熵为再如,掷一枚骰子为事件G,记G=k为出现的点数为k,则G的熵为因HG熟悉了单一变量的熵,很容易推广到多个变量的联合熵,这里给出两个变量X和Y的联合熵表达式:5.2有了联合熵,又可以得到条件熵的表达式HYX,条件熵类似于条件概率,它度量了我们在知道X以后5.3我们刚才提到HX度量了X的不确定性,条件熵HYX度量了我们在知道X以后Y剩下的不确定性。那么,HY-HYX信息熵HX、联合熵HX,Y、条件熵HY图中各熵之间的关系:图5.17各熵之间的关系图示2.决策树求解算法(1)ID3算法在决策树的ID3算法中,互信息IYX被称为信息增益(gain),所以多数时候又记为ID3算法就是用信息增益来判断当前节点应该用什么特征来构建决策树。信息增益越大,则越适合用来分类。下面我们用SNS社区中不真实账号检测的例子说明如何使用ID3算法构造决策树。为了简单起见,我们假设训练集合包含10个元素:表5.3SNS社区部分账号信息日志密度(L)好友密度(F)是否使用真实头像(H)账号是否真实(D)ssnonoslyesyeslmyesyesmmyesyeslmyesyesmlnoyesmsnonolmnoyesmsnoyesssyesno如表所示,以L、F、H和D表示日志密度、好友密度、是否使用真实头像和账号是否真实,下面计算各属性的信息增益:因此日志密度的信息增益是0.278。用同样方法得到H和F的信息增益分别为0.033和0.553。因为F具有最大的信息增益,所以第一次分裂选择F为分裂属性,分裂后的结果图5.18表示:图5.18分裂点选择1在上图的基础上,再递归使用这个方法计算子节点的分裂属性,最终就可以得到整个决策树。但是ID3算法中还存在着一些不足之处:1.ID3没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。2.ID3采用信息增益大的特征优先建立决策树的节点。很快就被人发现,在相同条件下,取值比较多的特征比取值少的特征信息增益大。比如一个变量有2个值,各为1/2,另一个变量为3个值,各为1/3,其实他们都是完全不确定的变量,但是取3个值的比取2个值的信息增益大。(信息增益反映的给定一个条件以后不确定性减少的程度,必然是分得越细的数据集确定性更高,也就是条件熵越小,信息增益越大)如何校正这个问题呢?为了解决这些问题我们有了C4.5算法。(2)C4.5算法对于第一个问题,不能处理连续特征,C4.5的思路是将连续的特征离散化。比如m个样本的连续特征A有m个,从小到大排列为a1,a2,⋯,am。则C4.5取相邻两样本值的平均数,一共取得m-1个划分点,其中第i个划分点Ti表示为:对于第二个问题,信息增益作为标准容易偏向于取值较多的特征。C4.5提出了信息增益比:即特征A对数据集D的信息增益与特征A信息熵的比,信息增益比越大的特征和划分点,分类效果越好。某特征中值的种类越多,特征对应的特征熵越大,它作为分母,可以校正信息增益导致的问题。回到上面的例子:同样可得:因为F具有最大的信息增益比,所以第一次分裂选择F为分裂属性,分裂后的结果如图4.18表示。再递归使用这个方法计算子节点的分裂属性,最终就可以得到整个决策树。(3)分类回归树(ClassificationandRegressionTree,CART)模型看完上述材料,我们知道在ID3算法中我们使用了信息增益来选择特征,信息增益大的优先选择。在C4.5算法中,采用了信息增益比来选择特征,以减少信息增益容易选择特征值种类多的特征的问题。但是无论是ID3还是C4.5,都是基于信息论的熵模型的,这里面会涉及大量的对数运算。能不能简化模型同时也不至于完全丢失熵模型的优点呢?有!CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。在分类问题中,假设有K个类别,第k个类别的概率为pk对于给定的样本D,假设有K个类别,第k个类别的数量为Ck,则样本的基尼系数特别的,对于样本D,如果根据特征A的某个值a,把D分成D1和D2两部分,则在特征A的条件下,回到上面的例子:同理得:。因为L具有最小的基尼系数,所以第一次分裂选择L为分裂属性。再递归使用这个方法计算子节点的分裂属性,最终就可以得到整个决策树。决策分析问题,需要对两个方案进行比较和评估,以确定最佳的决策。决策树是一种数据挖掘算法,主要用于分类和回归问题。在分类问题中,决策树可以将样本数据划分成多个类别,从而对新数据进行分类;在回归问题中,决策树可以预测一个连续值输出。决策树适用于数据量较小、特征维度较低、具有可解释性需求的问题。决策树的画法是根据决策节点、分枝节点、机会节点和结果节点的关系逐步延伸画出的。每个节点代表一个决策或结果,在树的结构中体现了决策的先后顺序和可能性的分支情况。建立和求解决策树模型涉及到画决策树、量化不确定性、确定目标和求解决策树的过程。这些步骤帮助我们全面考虑备选方案和不确定性,并找到最优的决策方案。ID3算法使用信息增益来判断当前节点应该用什么特征来构建决策树。信息增益是指使用某个特征进行划分后,对于数据集的纯度提升程度。信息增益越大,说明该特征对于分类的贡献越大。C4.5算法克服了ID3算法对离散特征的限制,可以处理连续特征。它通过将连续特征进行离散化处理,将其转换为离散的取值来进行决策树构建。一种常见的方法是使用二分法将连续特征划分成不同的离散区间。CART算法是一种简单而有效的决策树算法,在处理连续特征、剪枝策略上都有优秀的表现。它使用基尼系数代替信息增益比来选择特征,避免了对数运算,计算速度更快。CART算法不仅适用于分类问题,还可以处理回归问题。通过对损失函数的优化,CART算法能够在决策树上进行自适应的剪枝,提高决策树的泛化能力。三、案例分析主讲学生2教学思路向导时间10分钟下面就以一个经典的打网球的例子来说明决策树的构建和计算过程。我们今天是否去打网球(play)主要由天气(outlook)、温度(temperature)、湿度(humidity)、是否有风(windy)来确定。样本中共有14条数据。表5.4天气对打网球的影响NO.Outlooktemperaturehumiditywindyplay1sunnyhothighFALSEno2sunnyhothighTRUEno3overcasthothighFALSEyes4rainymildhighFALSEyes5rainycoolnormalFALSEyes6rainycoolnormalTRUEno7overcastcoolnormalTRUEyes8sunnymildhighFALSEno9sunnycoolnormalFALSEyes10rainymildnormalFALSEyes11sunnymildnormalTRUEyes12overcastmildhighTRUEyes13overcasthotnormalFALSEyes14rainymildhighTRUEno下面将分别介绍使用ID3和C4.5算法构建决策树。解决过程详见课程资料从理论到实践。通过案例把之前的理论实操一遍,切实理解相关概念。四、决策树:决策树的实现主讲学生2教学思路向导时间10分钟我们已经看到打网球的例子中决策树的构建和计算并不简单。若特征再多一些,我们基本就没有手算的耐心了。万幸的是,python机器学习库对决策树的构建和计算流程已进行了完整的封装。Python实现决策树的模块是sklearn.tree,决策树分类器是DecisionTreeClassifier,回归器是DecisionTreeRegressor。下面详细介绍两个函数的语法。一、分类回归树(一)决策树分类器DecisionTreeClassifiermodel=DecisionTreeClassifier(criterion='gini',splitter='best')1.主要输入参数及其含义:(1)criterion:衡量一个分裂质量的准则,取值为{'gini','entropy','log_loss'},缺省值是'gini';(2)splitter:在每个节点上选择分割的策略,取值为{'best','random'},缺省值是'best';2.主要输出参数及其含义:(1)classes_:类标签(单输出问题)或类标签数组列表(多输出问题)(2)feature_importances_:特征的重要性,被计算为该特征所带来的(归一化后的)准则的总减少,也被称为基尼重要性。(3)tree_:所建立的树,可通过plot_tree可视化(二)决策树回归器DecisionTreeRegressormodel=DecisionTreeRegressor(criterion='squared_error',splitter='best')1.主要输入参数及其含义:与分类器相比,仅有criterion含义不同。(1)criterion:衡量一个分裂质量的准则,取值为{'squared_error','friedman_mse','absolute_error','poisson'},缺省值是'squared_error';2.主要输出参数及其含义:与分类器相比,没有classes_输出项。(1)feature_importances_:同分类器。(2)tree_:同分类器。案例分析下面以1.1.4小节打网球为例介绍应用DecisionTreeClassifier来实现分类的过程。首先,将数据预处理为如下样式(注意必须全为英文状态下的字符),将数据保存为文本文件,文件名任取,此处保存名为playtable.txt。outlook,temperature,humidity,windy,play1,1,1,0,01,1,1,1,02,1,1,0,13,2,1,0,13,3,0,0,13,3,0,1,02,3,0,1,11,2,1,0,01,3,0,0,13,2,0,0,11,2,0,1,12,2,1,1,12,1,0,0,13,2,1,1,0然后按“建模→训练→评估→应用”流程写出sklearn决策树代码:#%%决策树分类器案例分析:打网球#0.导库importnumpyasnpfromsklearn.model_selectionimporttrain_test_splitasttsfromsklearnimporttree#1.读入数据data=np.loadtxt('playtable.txt',delimiter=',',skiprows=1)print('原始数据'.center(50,'*'),'\n',data)#2.拆分数据集:将数据集分割为训练集和测试集x,y=np.split(data,(4,),axis=1)x_train,x_test,y_train,y_test=tts(x,y,test_size=0.3)#3.模型建立:以基尼系数作为划分标准建立决策树模型model=tree.DecisionTreeClassifier(criterion='gini')#4.模型训练:应用训练集对模型进行训练model.fit(x_train,y_train)#5.模型评估:y_pred=model.predict(x_test)labels=['是','否']title='打网球'p=model.predict_proba(x_test)[:,0]frommodel_evaluatorimportevaluationresults=evaluation(y_test,y_pred,labels=labels,title=title,proba_pred=p,Y_score=y_pred)#6.可视化决策树importmatplotlib.pyplotaspltplt.figure(figsize=(10,8),dpi=150)features=['outlook','temperature','humidity','windy']tree.plot_tree(model,feature_names=features,class_names=['yes','n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB34T5460-2026景区自导式解说服务规范
- 第66套讲解课件
- 第五单元面积课件
- 初中政治做题方法课件
- 2026‑2031年中国松木行业市场调查研究及发展前景预测报告
- 成长主题内容课件
- 辽宁大连市部分学校2026-2027学年八年级上学期10月月考历史试题(含答案)
- 成长足迹工作课件
- 初中英语游戏课件
- 智能家电智能物流配送系统分析方案
- 2026-2027学年人教版一年级数学上册期中测试卷(附答案)
- GB/T 11322.1-2026射频电缆第0-1部分:详细规范的设计指南同轴电缆
- 三年级上册语文1-8单元作文导学单
- 装配式钢筋混凝土沉井施工方案
- 管理人员能力素质测评题目及答案
- 教育管理学陈孝彬
- 2024年09月江苏2024年江苏农商行省联社校园招考笔试历年参考题库附带答案详解
- 生殖医院管理制度内容
- 白内障手术巡回配合要点
- 第一章~三章 综合 检测试卷2023-2024学年北师大版数学七年级上册
- 第四章-国防动员
评论
0/150
提交评论