机器学习算法 22 决策树算法到集成学习思想(03 决策树停止分裂的条件(防止过拟合的方法:剪枝),决策树的优缺点)。

目录

1 概述(解决的问题):

2 前剪枝:

2.1 scikt-learn决策树创建方法:

 2.2 scikt-learn中的前剪枝方法:给出了7种

3 后剪枝:实际使用不会使用后剪枝

3.1 常见三种后剪枝方法:

4 决策树优缺点

4.1 优点:

4.2 缺点:


1 概述(解决的问题):

        如果选用了决策树算法,然后在生成决策树的过程中不做任何限制,那么学出来的这颗 树很深,很容易出现过拟合。本章主要介绍防止过拟合的方法:剪枝(前剪枝 后剪枝),以及对决策树的优缺点进行简要介绍

2 前剪枝:

1.10. Decision Trees — scikit-learn 1.0.2 documentation

2.1 scikt-learn决策树创建方法:

from sklearn.tree import DecisionTreeClassifier
tree=DecisionTreeClassifier()
 @_deprecate_positional_args
    def __init__(self, *,
                 criterion="gini",
                 splitter="best",
                 max_depth=None,
                 min_samples_split=2,
                 min_samples_leaf=1,
                 min_weight_fraction_leaf=0.,
                 max_features=None,
                 random_state=None,
                 max_leaf_nodes=None,
                 min_impurity_decrease=0.,
                 min_impurity_split=None,
                 class_weight=None,
                 ccp_alpha=0.0):

 2.2 scikt-learn中的前剪枝方法:给出了7种

参数解释:

criterior=“gini”            #树生成算法

splitter=“best”             #...

max_depth=None              #1 最大多少层(不包含节点)

min_samples_split=2         #2 节点切分前最小包含的样本数量

min_sample_leaf=1           #3 节点切分后节点最小包含1个样本

min_weight_fraction_leaf=0  #4 叶子节点在总用本中最小的比列

max_leaf_nodes=None         #...

random_state=None           #... 随机种子

max_leaf_nodes=None         #5 叶子节点的最大数量

min_impurity_decrease=0     #6 不纯度减小的最小值;举例gini系数,=0.1 假设分裂前的gini系统是 
                              0.667 分裂后的0.577  0.6670.577=0.09<0.1 测不分裂

min_impurity_split=None     #7 切分前的最小的不纯度; 假设:切分前的最小不纯度位0.5 计算一组数据 的不纯度位 0.667 则可以继续切分。如果为0.1 则不能继续切分

class_weight=None           #类别的权重(在算不纯度的时候会加权求和计算不纯度)

presort=None                #排序

                            #什么情况下需要排序:

                            #1.对于离散化的数据不需要排序

                            #对于像年收入这样的维度,可以进行排序,排序的目的在于方便找分裂的阈值。

                            #排序之后,仅计算阈值,提高计算的效率

3 后剪枝:实际使用不会使用后剪枝

3.1 常见三种后剪枝方法:

(1)REP-错误率降低剪枝

(2)PEP-悲观剪枝(C4.5)

(3)CCP 代价复杂度剪枝(CART)

含义:在采用决策树生成算法 C4.5 自带了悲观剪枝,CART自带了代价复杂度剪枝

4 决策树优缺点

如图所示,相比与线性分类器,线性不可分,但是我们可以对其进行升维 做到可分

然而采用决策树: 可以采用x2 <指定值; x1 <指定值,即可做到非线性可分

4.1 优点:

(1)决策树过程接近人的思维习惯

(2)模型容易理解 比线性模型具有更好的解释性

(3)能清楚的使用图形化描述模型

(4)处理定制特征比较容易

注意:没有用到归一化 也就是说没有用到梯度下降 

4.2 缺点:

(1)一般来说,决策树准确率不如其他模型

(2)如果追求训练集的数据准确率比较高 容易出现过拟合

(3)不支持在线学习,当有新样本来的时候,需要重建决策树

在线学习:新来样本带到算法中去,调整模型

不在线学习:新来样本之后,带入算法,需要重新计算算法。

           

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值