决策树:
树结构,可以是二叉树或非二叉树,数据结构中的概念,只不过加上了判断条件。
信息熵:
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)后剪枝: 把树完全建好后,根据类的纯度来进行树的裁剪。
决策树的优点:
直观,便于理解,小规模数据集有效
决策树的缺点:
处理连续变量不好;类别较多时,错误增加的比较快;可规模性一般。