决策树

来源:互联网 发布:linux tomcat自动关闭 编辑:程序博客网 时间:2024/06/05 17:02

最近在网络课上报了一门《机器学习》的课,由于数据挖掘的缘故有不少的接触,真正入门才发现坑点不少,也许总结得还不够深,后面会再慢慢补充。

一、回归树和决策树

决策树可以用来实现回归和分类,用作回归时,则称为回归树;用作决策时,则称为分类树或者决策树。

分类树的观测值是离散的,回归树的观测值必须是数值或者是连续的。

普通回归和回归树是有区别的,回归树拟合出来的曲线不平滑,即两个测试样本互相靠近,在一个小的区间内取到相同的值。普通回归却拟合出来的曲线是平滑的。

二、信息增益、信息增益率和基尼系数

ID3:信息增益是衡量该特征A使得数据集D结果不确定性的下降程度,信息增益越大越好,倾向于多值属性。

C4.5:信息增益率是衡量该特征A下信息分布的均度和广度。信息增益率倾向于少值属性而且分布不均。

CART:基尼系数是熵公式下的一阶展开,衡量的是特征A的不纯度,基尼系数越大越好,倾向于多值属性,基尼的不纯度相当于熵所对应的混乱程度。

三、ID3\C4.5\CART的缺点

ID3

ID3算法使用的是自顶向下的贪婪搜索遍历可能的决策树空间构造,属于局部最优,不一定全局最优。

1、用信息增益选择属性时偏向于选择分枝比较多的属性值,即取值多的属性,容易过拟合

2、抗噪性差

3、递归循环,消耗内存

4、只能处理离散数据

C4.5

1、递归循环,消耗内存

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

CART

1、不如线性回归普遍;要求大量训练数据;难以确定某个特征的整体影响;比线性回归模型难解释

CART的决策是二叉树的,它同样可以处理离散值,但是,只能选择其中一种来把数据分成两个部分。CART与ID3区别:ID3和CART算法的区别主要集中在 树的生成和树的修剪方面,但是ID3算法只能处理离散型的描述性属性,如果目标变量是标称的,并且是具有两个以上的类别,则CART可能考虑将目标类别合并成两个超类别(双化); 如果标变量是连续的,则CART算法找出一组基于树的回归方程来预测目标变量。

四、防止过拟合

1、先剪枝和后剪枝

2、cross-validation

3、bagging和随机森林

五、连续变量的阈值选择

1、枚举

2、样本分割的平均值

3、随机

4、各样本点的数值附近


该图中的绿线代表可能的最优分割阈值点,根据信息论知识,像middle[72,75](红线所示)这个分割点,72,75属于同一个类,这样的分割点是不可能有信息增益的。(把同一个类分成了不同的类,这样的阈值点显然不会有信息增益,因为这样的分类没能帮上忙,减少可能性)

六、缺失值的处理

如果有些训练样本或者待分类样本缺失了一些属性值,那么该如何处理?要解决这个问题,需要考虑3个问题:

i)当开始决定选择哪个属性用来进行分支时,如果有些训练样本缺失了某些属性值时该怎么办?

ii)一个属性已被选择,那么在决定分支的时候如果有些样本缺失了该属性该如何处理?

iii)当决策树已经生成,但待分类的样本缺失了某些属性,这些属性该如何处理?

针对这三个问题,昆兰提出了一系列解决的思路和方法。

对于问题i),计算属性a的增益或者增益率时,如果有些样本没有属性a,那么可以有这么几种处理方式:

(I)忽略这些缺失属性a的样本。

(C)给缺失属性a的样本赋予属性a一个均值或者最常用的的值。

(R)计算增益或者增益率时根据缺失属性样本个数所占的比率对增益/增益率进行相应的“打折”。

(S)根据其他未知的属性想办法把这些样本缺失的属性补全。

对于问题ii),当属性a已经被选择,该对样本进行分支的时候,如果有些样本缺失了属性a,那么:

(I)忽略这些样本。

(C)把这些样本的属性a赋予一个均值或者最常出现的值,然后再对他们进行处理。

(R)把这些属性缺失样本,按照具有属性a的样本被划分成的子集样本个数的相对比率,分配到各个子集中去。至于哪些缺失的样本被划分到子集1,哪些被划分到子集2,这个没有一定的准则,可以随机而动。

(A)把属性缺失样本分配给所有的子集,也就是说每个子集都有这些属性缺失样本。

(U)单独为属性缺失的样本划分一个分支子集。

(S)对于缺失属性a的样本,尝试着根据其他属性给他分配一个属性a的值,然后继续处理将其划分到相应的子集。


对于问题iii),对于一个缺失属性a的待分类样本,有这么几种选择:

(U)如果有单独的确实分支,依据此分支。

(c)把待分类的样本的属性a值分配一个最常出现的a的属性值,然后进行分支预测。

(S)根据其他属性为该待分类样本填充一个属性a值,然后进行分支处理。

(F)在决策树中属性a节点的分支上,遍历属性a节点的所有分支,探索可能所有的分类结果,然后把这些分类结果结合起来一起考虑,按照概率决定一个分类。

(H)待分类样本在到达属性a节点时就终止分类,然后根据此时a节点所覆盖的叶子节点类别状况为其分配一个发生概率最高的类。

七、随机森林抽样样本至少一次被选中的概率为63.7%

八、样本的误判次数服从正态分布

九、特征数和样本数比例大概为1:30

以上内容部分出自:

http://blog.sina.com.cn/s/blog_68ffc7a40100urn3.html

http://blog.csdn.net/qq_16365849/article/details/50644476

0 0
原创粉丝点击