1 决策树是干什么的
决策树是一种基于树形结构的分类算法。树的根节点和内部结点代表特征x1、x2等,叶结点代表决策结果y1等。
2 如何构造决策树
ID3算法(Quinlan(罗斯.昆兰)提出):依据信息增益值的大小对节点进行划分。
各个特征的顺序由特征自己的信息增益决定,增益越大越重要,越优先排列。
根节点的确立,需要求解每个特征的信息增益:
1)求每个特征的几种可能取值的信息熵,这需要知道各个取值在样本中的所占比例
2)用总数据集的信息熵减去这几特征取值的信息熵,得到这个特征的信息增益
3)计算出了所有特征的信息增益后、最大的那个就是根节点。
下一个节点的确立:除根节点外,求解其他特征的信息增益,以此类推
3 决策树算法的改进
ID3算法弊端:此种信息增益的算法倾向于将取值多的特征排在前面,如果某个特征的取值巨大,则会导致根节点分支特别多。
C4.5算法(Quinlan(罗斯.昆兰)优化自己提出的ID3算法)使用了信息增益率来构造决策树。
由于信息增益率倾向于取值少的,所以不直接使用信息增益率,而是先用之前的信息增益找到高于平均信息增益水平的几个特征
对这几个特征再进行信息增益率的选择。
4 决策树剪枝
决策树算法在构造时不断划分节点,容易导致分支过多,也就是过拟合。所以通过剪枝来减小过拟合
两种剪枝策略:
预剪枝:在构造决策树的过程中,判断这个特征划分前后能不能提升决策树的泛化能力,如果不能直接变成叶结点。
预剪枝的特点是会减少一部分时间成本,但是可能带来欠拟合的风险。
后剪枝:在构造完决策树之后,自底向上判断这个特征划分前后能不能提升决策树的泛化能力,如果不能直接变成叶结点。
预剪枝的特点是欠拟合风险小,但是时间成本增加。
5 决策树如何处理数据特征的连续值
在实际应用中的特征的取值不一定是有限个,还可能会是数字{0.236,0.692,}
这种情况的根节点的确立,首先将数字取值进行排序,然后取每两个数字间的中值,这个中值作为计算信息增益的段位
1)求每个特征的几种可能取值的信息熵,这需要知道各个取值在样本中的所占比例
2)用总数据集的信息熵减去这几特征取值的信息熵,得到这个特征的信息增益
3)计算出了所有特征的信息增益后、最大的那个就是根节点。
下一个节点的确立:这个特征的取值确定在了根节点,但这个特征的其他取值仍然要参与接下来的信息增益的计算,以此类推
6 决策树如何处理数据中缺失的值
在实际情况中数据集中都会有部分缺失,如何应对策略如下:
在1)各个取值在样本中的所占比例的阶段,某些编号的样本没有具体的取值,我们就同时给这几个样本所有可能的取值,但是在这三个取值中的权重不同,接下来仍然执行1) 2) 3)算信息增益。
7 随机森林
随机森林(Breiman 2001)由许多决策树随机的组成,森林中的每棵决策树都要进行预测,最后少数服从多数。
随机性使得随机森林不易过拟合,抗噪声能力强,决策树之间没有关联,容易做成并行化方法。
决策树的扩展内容,转载此博客: