step by step.
目录
要看具体章节复习汇总请见👇
自己辛苦总结的,点个赞鼓励一下啦~
1. 概念
决策树:采用自顶向下的递归方法。从根到叶节点的一条路径代表这一条合取规则。
内部节点:属性上的测试
树叶节点:类或类分布
分支:测试输出
2. 步骤
(1)决策树生成
(2)决策树修剪
(1) 决策树生成算法
(2) 决策树剪枝算法
预先剪枝+后剪枝
3. 决策树分类算法——ID3
是个贪心算法。
(1) 算法核心
ID3算法的核心是在决策树各级结点上选择属性时,用信息增益作为属性的选择标准,以使得在每一个非结点进行测试时,能获得关于被测试记录最大的类别信息。
(2)信息增益和信息熵
为了寻找对样本进行分类的最优方法,我们要做的工作就是使对一个样本分类时需要问的问题最少(即树的深度最小)。因此,我们需要某种函数来衡量哪些问题将提供最为平衡的划分,信息增益就是这样的函数之一。
信息熵:
a. 当n=2,p1=p2=0.5时
entropy(S)=1,此为最大。
b. 当n=2,p1=0.67,p2=0.33
entropy(S)=
样本的概率分布越均衡,它的信息量(熵)就越大,样本集的混杂程度也越高。因此,熵可以作为训练集的不纯度(impurity)。
信息增益
属性A将S划分成m份 ,根据A划分的子集的熵或期望信息 👇
因为知道属性A的值后导致的熵的期望压缩 👇
gain(S,A) 越大,说明选择测试属性A对分类提供的信息越多
(3)例题
play(结论的信息熵):
outlook(一个属性与结论相关的信息熵):
outlook分为sunny,overcast,rainy三种,每种对应的play结论要各自分析~
👇
a. 算各自的信息熵:
先算sunny
同理:可以计算出 S overcast 和 S rainy 的熵分别为0和0.971。
(overcast的结论全为yes,rainy的结论有3yes2no)
|Ssunny| = 5; |Sovercast| = 4; |Srainy| = 5
b. 期望信息:
c. 信息增益:
其他属性同。
创建分支
(4) ID3算法流程
用能产生最大信息增益的属性来作分支。
草图: ) 勿喷
(1) 初始化决策树T,使其只包含一个树根结点(X,Q),其中X是全体样本集,Q为全体属性集。
(2) if(T中所有叶节点(X’,Q’)都满足X属于同一类或Q’为空) then 算法停止;
(3) else { 任取一个不具有(2)中所述状态的叶节点(X’,Q’);
(4) for each Q’中的属性A do 计算信息增益gain(A,X’);
(5) 选择具有最高信息增益的属性B作为节点(X’,Q’)的测试属性;
(6) for each B的取值bi do从该节点(X’, Q’)伸出分支,代表测试输出B=bi;求得X中B值等于bi的子集Xi,并生成相应的叶节点(Xi’,Q’-{B});}
(7) 转(2);}
(5) 例题环节 耶
eg1.
解:
实在是没时间打字了...
entropy越小,说明gain越大,则说明该属性越有用~
eg2.
解:
实在是没时间打字了...
还是要动手算了才能加深理解!
(6) ID3特点
优点:理论清晰,方法简单,学习能力强。
缺点:信息增益计算依赖于特征数目较多的特征, 而属性取值较多的属性并不一定最优。
非递增算法。
单变量决策树(分支节点上只考虑单个属性)。【解决方法:离散化】
抗噪性差。
(7) ID3与ID4.5区别
ID4.5(算法思想与ID3相同)
采用增益比例insteadOf信息增益。
按照数值属性值的大小对样本进行排序。从中选择一个分割点,划分数值属性的取值区间,从而将ID3的处理能力扩充到数值属性上来。
使用k次迭代。
考试加油!!!!