机器学习分类算法---决策树

决策树:

树结构,可以是二叉树或非二叉树,数据结构中的概念,只不过加上了判断条件。

信息熵:

1948年,香农提出了“信息熵”的概念。一条信息的信息量大小和它的不确定性有直接的关系,即对一件事,你不知道的越多,这件事对于你来说信息熵越大,因为你需要学的东西更多。

             计算:   H(x) = E[I(xi)] = E[ log(2,1/p(xi)) ] = -∑p(xi)log(2,p(xi)) (i=1,2,..n)        //前面的负号是因为0<P<1

决策树归纳算法(ID3):

信息获取量(Gain,增量),信息量(info):

                           Gain(A)=Info(B)-Info_A(B)        

A属性的信息获取量的值就等于,不按任何属性进行分类的时候的信息量加上按A这个属性进行分类的时候的信息量

一般按照获取量从大到小的顺序进行树的创建 

停止节点创建的条件有以下几点:

          1)给定节点的所有样本属性都属于同一种标记的时候

          2)当没有剩余属性用来进一步划分样本时,就停止节点的创建,采用多数表决

          3)分枝

C4.5算法:

       相比于ID3,它用信息增益率来选择属性。目标是监督学习,给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类

       C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行

        信息增益率GainRatio:

                                             

                                 

              

CART算法:

1)当CART是分类树时,采用GINI值作为节点分裂的依据;当CART是回归树时,采用样本的最小方差作为节点分裂的依据;

2)CART是一棵二叉树。

3)CART算法仍然使用后剪枝。在树的生成过程中,多展开一层就会有多一些的信息被发现,CART算法运行到不能再长出分支为止,从而得到一棵最大的决策树。然后对这棵大树进行剪枝

树剪枝叶 (避免overfitting):为了处理数据中的噪声和离群点导致的过分拟合问题

     1)先剪枝: 当分到一定程度,就不向下增长树了。

     2)后剪枝:  把树完全建好后,根据类的纯度来进行树的裁剪。

决策树的优点:

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

 决策树的缺点:

     处理连续变量不好;类别较多时,错误增加的比较快;可规模性一般。

猜你喜欢

转载自blog.csdn.net/changer_WE/article/details/85130080