在学习决策树学习之前,我想先问问几个问题,以便好好梳理思路。
1. 决策树是什么?干啥用的?决策树学习又是什么?
2. 信息增益,纯度,熵是什么?在决策树中是干啥用的?
3. 构建一个决策树包含哪几个步骤?如何构建?
回答:
1. 决策树是一棵用来进行决策的树(哈哈,有点在说废话的赶脚)。一旦决策树生成,往里面送入未知的数,都可以推测出结论来,所以他的作用是用来进行分类或推测的。决策树学习就是这棵决策树的学习过程,即他的构造过程。这里详细的解释一下这棵树。这棵树和普通的数据结构里面的树不一样,决策树的每个节点表示特征值或者对象,每个节点引出来的每条边表示这个特征值的属性,比如在进行给约会对象分类的问题中,玩游戏的时间,每周消耗冰淇淋的公升数是判断的特征值,这些特征值的属性是时间的分界和公升数的分界,超过某一定时间就划分为不喜欢,超过某一公升数就划分为不喜欢。这样就可以构建出一棵决策树了。但是这儿忽略了一个问题,什么样的特征值可以作为第一个判定的标准,即第一个节点呢?其他的节点的特征值又是如何被选择的呢?这就取决于第二个问题的解决。
2. 熵表示一个系统的无序程度,熵将小表示系统趋于有序。信息增益表示在划分数据之前之后信息发生的变化。也就是原始数据熵减去划分数据集后熵的差值,所以划分数据集后的熵越小,则信息增益越大,数据集越有序。所以要选择数据集中使信息增益最大的特征值划分为标准,依次选择出特征值成为节点,按照递归思想构建出决策树。
3. 根据上面所述,决策树首先需要计算熵,判断出最小的熵,确定为特征值,从而划分出数据集,然后使用递归思想依次选择出最好的特征值,划分数据集,从而构建出决策树。