zoukankan      html  css  js  c++  java
  • 机器学习--决策树

    决策树(Decision Tree)

    决策树是监督学习(supervised learning)的一种。

    机器学习中分类和预测算法的评估:

    1.准确率

    2.速度

    3.强壮型

    4.可规模性

    5.可解释性

    什么是决策树?

    决策树是一个类似于流程图的树结构:其中,每个内部节点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树节点代表类或者类分布。树的最顶端是根节点。

    决策树就类似于上面的树形结构,小明是否打篮球取决于一些因素,首先看天气,如果是晴天,晴天的情况里面打篮球的天数是2,不打篮球的天数是3,然后看空气湿度,如果湿度小于等于70,打篮球的天数为两天,不打篮球的天数为0。所以当晴天的时候,空气湿度小于等于70时小明就去打篮球。其他情况类似。

    下面再看一个例子:

    一个人是否买电脑的因素:

    影响一个人买电脑的因素有很多,首先看这个人的年龄,如果是青年,然后看这个人是否为学生,如果是学生,就买电脑,如果不是学生就不买电脑。然后如果这个人是中年,那么这个人一定买电脑。如果这个人是中老年,看这个人的信用,如果这个人的信用很好,那么就买电脑,如果信用不好就不买电脑。下表是给定的一些数据。

     熵(entropy)概念:

    信息和抽象,如何度量?

    1948年,香农提出了“信息熵(entropy)”的概念

    一天信息的信息量大小和它的不确定性有直接关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息==》信息量的度量就等于不确定性的多少。

    我们用比特(bit)来衡量信息的多少。

    变量的不确定性越大,熵也就越大。

    1970-1980,J.Ross,Quinlan, ID3算法

    决策树归纳算法(ID3)

    选择属性判断节点,选择哪个属性放在上面,哪个属性放在下面。

    信息获取量(Information Gain):Gain(A)=Info(D)-Info_A(D)

    我们以age来分,看得到的信息熵是多少?

     Gain(age)=Info(D)-Info_{age}(D)=0.940-0.694=0.246bits

    类似的,Gain(income)=0.029,Gain(student)=0.151,Gain(credit_rating)=0.048,

    所以,选择age作为第一个根节点。

    然后这样一直重复即可完成算法。

    算法的具体流程如下:

    树以代表训练样本的单个节点开始(步骤一)。

    如果样本都在同一个类,则该节点成为树叶,并用该类标记(步骤二和步骤三)。

    否则,算法使用称为信息增益的基于熵的度量作为启发信息,选择能够最好的将样本分类的属性(步骤六),该属性成为该节点的“测试”或者“判定”属性(步骤7)。在算法的该版本中,

    所有的属性都是分类的,即离散值,连续属性必须离散化。

    对测试属性的每个已知的值,创建一个分支,并据此划分样本(步骤8-10)

    算法使用同样的过程,递归的形成每个划分上的样本判定树,一旦一个属性出现在一个节点上,就不必该节点的任何后再上考虑它(步骤13)。

    递归划分步骤仅当下列条件之一成立时停止:

    (a)给定节点的所有样本属于同一类(步骤2和3)

    (b)没有生育属性可以用来进一步划分样本(步骤4)。在此情况下,使用多数表决(步骤5)

    这涉及将给定的节点转换成树叶,并用样本中的多数所在的类标记它,替换的,可以存放节点点样本的分布。

    (c)test_attribute=a,没有样本(步骤11)。在这种情况下,以sample中的多数类创建一个树叶(步骤12)

    其他算法:

    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)

    如何处理连续变量的属性?

    连续变量离散化。

    树剪枝叶(避免overfitting)

    先剪枝,后剪枝

    决策树的优点:

    直观,便于理解,小规模数据集有效。

    决策树的缺点:

    处理连续变量不好。

    类别较多时,错误增加的比较快。

    可规模性一般。

  • 相关阅读:
    User Get 'Access Denied' with Excel Service WebPart
    How To Search and Restore files from Site Collection Recycle Bin
    How To Collect ULS Log from SharePoint Farm
    How To Restart timer service on all servers in farm
    How to Operate SharePoint User Alerts with PowerShell
    How to get Timer Job History
    Synchronization Service Manager
    SharePoint 2007 Full Text Searching PowerShell and CS file content with SharePoint Search
    0x80040E14 Caused by Max Url Length bug
    SharePoint 2007 User Re-created in AD with new SID issue on MySite
  • 原文地址:https://www.cnblogs.com/LoganChen/p/7784534.html
Copyright © 2011-2022 走看看