机器学习——4 决策树和随机森林

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)由许多决策树随机的组成,森林中的每棵决策树都要进行预测,最后少数服从多数。

随机性使得随机森林不易过拟合,抗噪声能力强,决策树之间没有关联,容易做成并行化方法。

决策树的扩展内容,转载此博客:

https://blog.csdn.net/u012328159/article/details/70184415

猜你喜欢

转载自blog.csdn.net/sinat_41144773/article/details/87434464
今日推荐