3.1 决策树(decision tree)算法

来源:互联网 发布:新买ssd怎么装系统知乎 编辑:程序博客网 时间:2024/05/16 03:22

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

        1、准确率   2、速度    3、强壮性    4、可规模性   5、可解释性

1、什么是决策树/判定树(decision tree)?

    判定树是一个类似于流程图的树结构;其中每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,每个树叶结点代表类或类分布。树的最顶层是根结点。



2、机器学习中分类方法中的一个重要算法

3、构造决策树的基本算法

      根结点,分支,结点,树叶



3.1   熵(entropy)概念:

      信息和抽象,如何度量? 

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

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


例子:猜世界杯冠军,假如一无所知,猜多少次?

每个队夺冠的几率不是相等的

比特(bit)来衡量信息的多少:



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


3.1  决策树归纳算法(ID3)

1970-1980,ID3算法

选择属性判断结点

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

通过A来作为结点分类获取了多少信息






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



算法:

1、训练样本单个结点开始(步骤一)

2、如果样本都在同一个类,则该结点成为树叶,并用该类标号(步骤2和3)

3、否则,算法使用基于熵度量作为启发信息,选择将样本分类的属性(步骤6)。该属性成为该结点的“测试”和“判定”属性(步骤7)。

4、在该算法中,所有的属性都是分类的,即离散值。连续属性必须离散化。

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

6、算法递归的形成每个划分的判定树。一旦一个属性出现在一个结点上,就不必在任何后代上考虑它(步骤13)。

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

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

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

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

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


3.1 其他算法:

     C4.5

    Classification and Regression Trees(CART):

    共同点:都是贪心算法,自上而下(Top-down approach)

    区别:属性选择度量方法不同:C4.5(gain ration),CART(gini基尼系数 index),ID3(Information Gain)


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

4、树剪枝叶(避免overfitting)

      先剪枝,后剪枝


5、决策树的优点:

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


6、决策树的缺点:

      处理连续变量不好

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

      可规模性一般

0 0
原创粉丝点击