1、 机器学习算法之决策树机器学习算法之决策树学习汇报学习汇报二一六年十一月二十五日SA16225292SA16225292王鸿飞王鸿飞决策树算法机器学习中分类和预测算法的评估l 准确率l 速度l 健壮性l 可规模性l 可解释性决策树算法 决策树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。什么是决策树/判定树(decision tree)?决策树算法决策树算法熵(entropy)概念:信息和抽象如何度量?1948年,香农提出了”信息熵(entropy)“的概念一条信息的信息量大小和它的不确定性有直
2、接的关系,要搞清楚一件非常非常不确定的事情,或者 是我们一无所知的事情,需要了解大量信息=信息量的度量就等于不确定性的多少决策树算法 例子:猜世界杯冠军,假如一无所知,猜多少次?每个队夺冠的几率不是相等的 比特(bit)来衡量信息的多少 变量的不确定性越大,熵也就越大32 log*p32.p2 log*p2p1 log*p1)(log*)()(2xPxPxHx决策树算法决策树归纳算法(ID3)选择属性判断节点信息获取量(Information Gain):Gain(A)=Info(D)-Infor_A(D)通过A来作为节点分类获取了多少信息决策树算法bitsDInfo940.0)145(145
3、)149(149)(22loglogbitsDInfo940.0)(bitsDInfoage694.0)53log5352log52(145)40log4044log44(144)53log5352log52(145)(222222bitsDInfoage694.0)(决策树算法类似地,Gain(income)=0.029Gain(student)=0.151Gain(credit_rating)=0.048所以,选择age作为第一个根节点bitsDInfoDInfoageGage246.0694.0940.0)()()(ain决策树算法重复决策树算法递归划分仅当下列条件成立之一时停止:(a)
4、给定结点的所有样本属于同一类(b)没有剩余属性可用来进一步划分样本。在此情况下使用多数表决。这涉及将给定的结点转换成树叶,并用样本中的多数所在的类标记它。决策树算法其他算法:C4.5:Quinlan Classification and Regression Trees(CART):(L.Breiman,J.Friedman,R.Olshen,C.Stone)共同点:都是贪心算法,自上而下(Top-down approach)区别:属性选择度量方法不同:C4.5(gain ratio),CART(gini index),ID3(Information Gain)决策树算法决策树的剪枝理论:避免
5、overfitting;PrePrune:预剪枝,及早的停止树增长.PostPrune:后剪枝,在已生成过拟合决策树上进行剪枝,可以得到简化版的剪枝决策树。决策树算法决策树的优点:直观,便于理解,小规模数据集有效决策树的缺点:1.处理连续变量不好 2.类别较多时,错误增加的比较快 3.可规模性一般决策树应用Python机器学习的库:scikit-learn特性:简单高效的数据挖掘和机器学习分析对所有用户开放,根据不同需求高度可重用性基于Numpy,SciPy和matplotlib开源,商用级别覆盖问题领域:分类(classification),回归(regression),聚类(clustering),降维(dimensionality reduction)模型选择(model selection),预处理(preprocessing)决策树应用