写在开头:
在生活中我们总可以遇到这一类问题,我和我的舍友小伙伴要出去玩,但是出去玩是有条件的。first thing first,宿舍里所有人必须都有时间粗去玩;其次呢,要是像五月的天津动不动下雨可能也是去不了的,最后就是是否是月底没钱了也不能出去玩了,so on,那么试想如果我们给定条件让计算机预测我们能不能出去玩,这时候主角登场决策树!!!
准备知识
决策树的叶节点:表示类,即对输入得到结果进行分类
内部节点: 表示特征,即条件(归纳性方法)
有向边: 不同的路径选择
准备函数
信息量:信息量是指信息多少的量度,信息量函数如下图所示
信息熵:用于度量信息量的一个概念。 一个系统越是有序,信息熵就越低; 反之,一个系统越是混乱,信息熵就越高。 所以,信息熵也可以说是系统 有序化 程度的一个度量。信息熵函数如下图所示
信息熵是信息量的数学期望。
条件熵:公式如下
※信息增益:在A条件下和屏蔽A条件下的信息差,因为构造的决策树是从无序到有序的过程,所以从根节点到叶节点,信息增益逐渐减小
公式如下:
算法
Step one
计算出所有特征值的信息增益值,用上述公式
Step two(决策树ID3算法)
给大伙看看我的真迹,纯手写算法
这是一个运用预剪枝方法的决策树,设定阈值ε-epsilon,如增益值小于预先给定阈值,则停止分裂而把当前结点作为叶结点。
总结
决策树yyds,如果还有不明白的地方,可以看南开大学决策树给隔壁学校打个广告。。。。。。