引言
决策树对比神经元网络的优点在于可以生成一些规则。
当我们进行一些决策,同时需要相应的理由的时候,使用神经元网络就不行了。
本章介绍三个算法
CART,CHAID,C4.5
。
决策树是如何工作的
决策树一般都是自上而下的来生成的。
选择分割的方法有好几种,但是目的都是一致的:对目标类尝试进行最佳的分割。
从根到叶子节点都有一条路径,这条路径就是一条“规则”。
决策树可以是二叉的,也可以是多叉的。
对每个节点的衡量:
1)
通过该节点的记录数
2)
如果是叶子节点的话,分类的路径
3)
对叶子节点正确分类的比例。
有些规则的效果可以比其他的一些规则要好。
决策树对于常规统计方法的优点。
CART
Diversity(
整体
)-diversity(
左节点
)-diversity(
右节点
)
,值越大,分割就越好。
三种
diversity
的指标:
1.
min(P(c1),P(c2))
2.
2P(c1)P(c2)
3.
[P(c1)logP(c1)]+[P(c2)logP(c2)]
这几个参数有相同的性质:当其中的类是均匀分布的时候,值最大;当有一个类的个数为
0
的时候,值为
0
。
选择分割的时候,对每个字段都考虑;对每个字段中的值先排序,然后再一一计算。最后选出最佳的分割。
树的生成:
错误率的衡量:最初生成的树中也是有错误率的!因为有些叶子节点并不是“
Pure
”的。
树的修剪:
是不是当所以的叶子都很纯是,这棵树就能工作的很好呢
?
修剪的要点是:应该回溯多少、如何从众多的子树总寻找最佳的。
1)
鉴别生成候选子树
:使用一个调整的错误率。
AE(T)=E(T)+
a
leaf_count(T)
。一步步的生成一些候选子树。
2)
对子树的评估:通过
test set
找到最佳子树
3)
对最佳子树进行评估:使用
evaluation set
。
4)
考虑代价
(cost)
的问题。
C4.5
C4.5
是从
ID3
演变而来的。
C4.5
和
CART
的区别
:
1)
树的生成方面。
C4.5
不一定使用两分法。
C4.5
处理种类变量的时候,缺省的情况是每个值作为一个分支。
Gain
和
gain ratio
。
2)
树的修剪
C4.5
使用原来的数据进行测试。
(
学院派
)
规则的生成
CHAID
1975
年
和
CART
和
C4.5
的区别:
1.
在
overfitting
之前就停止树的生长。
2.
必须都是种类变量。数值变量必须分成范围。
树的生长
1.
选择分割。
X2
检验
实际中使用决策树的一些问题
主要是一些数据准备和数据表示方面的问题。
案例:银行信用卡部门
1.
对数据细节的不熟悉。
2.
数据翻译问题。
COBOL
3.
对时间元素的处理:
OCCURS
语句的处理。可以根据需要来增加一些字段:
delta_balance
,
delta_interest_rate
等等。
4.
CART
算法不考虑字段之间的关系。
5.
定义类别。使用的工具在类别字段只可以有两个值。我们对原始数据进行一些映射处理。“
silent attrition
”。
6.
数据表示的问题。需要额外的数据。
7.
消除杂音。
8.
欺骗性的字段。有些字段其实和要预测的字段并不是独立的。可以通过决策树来进行这些字段的判断。
9.
过于总结性的数据。
10.
经验和教训。
将决策树运用于事件序列:
PV Future View
,一个工具。
Case
,
某一时刻的快照。
Attribute
,
组成
Case
的字段
Feature
,
布尔变量,用于形成决策树的内部节点。
Interpretations
,由
Attribute
组成用于体现领域知识和关系的衍生字段。
Interpretations
字段常常是由用户提供的。
从历史推出未来:
案例学习:咖啡烘烤的流程控制
其他的决策树的变种
1)
一次使用超过一个字段用于分类
2)
使用倾斜的超平面切分
3)
神经元树
决策树的优缺点:
优点:
1)
可以生成可以理解的规则。
2)
计算量相对来说不是很大。
3)
可以处理连续和种类字段。
4)
决策树可以清晰的显示哪些字段比较重要
缺点:
1)
对连续性的字段比较难预测。
2)
对有时间顺序的数据,需要很多预处理的工作。
3)
当类别太多时,错误可能就会增加的比较快。
4)
一般的算法分类的时候,只是根据一个字段来分类。
凡是有该标志的文章,都是该blog博主Caoer(草儿)原创,凡是索引、收藏
、转载请注明来处和原文作者。非常感谢。