决策树,既然叫树,那么它有树型的结构。
它包括根节点,内部节点,叶节点。
根节点主要是样本全集,内部节点是对应特征的属性测试,叶节点代表决策结果。
决策树是一种监督学习,所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习[1]。
决策树主要是过程有,特征的选择,决策树的生成,决策树剪枝(剪枝,这个名字听起来就有点DropOut的感觉了,功能也是防止过拟合)。
特征选择:往往会是一些对结果会有影响的特征,比如降水量的大小,我们会选择一些特征如:空气湿度,温度等。
我们可以用信息增益来确定特征。了解信息增益,我们有如下几个概念:
信息熵:表示随机变量的不确定性,看不懂这个可以看一下这个大佬的讲解[2]。
条件熵:在一个条件下,随机变量的不确定性。
信息增益:熵 - 条件熵。表示在一个条件下,信息不确定性减少的程度。
选择好特征后,就从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。
决策树常见的生成方式:
(1)ID3 算法
ID3是一种贪心算法(贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解),这种算法主要是利用信息增益最大的属性作为分类的属性,通过递归来构造分类树。
(2)C4.5 算法
它用的是信息增益比这个标准。
(3)CART(Classification and Regression Tree)
CART 算法使用了基尼系数取代了信息熵模型。CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,不纯度越低,特征越好。这和信息增益(比)相反。
[1]https://baike.baidu.com/item/%E5%86%B3%E7%AD%96%E6%A0%91
[2]信息熵是什么? - YJango的回答 - 知乎 https://www.zhihu.com/question/22178202/answer/577936758