【Python机器学习】树回归——树剪枝

如果一棵树节点过多,表明该模型可能对数据进行了过拟合。

通过降低决策树的复杂度来避免过拟合的过程称为剪枝。提过提前终止条件,实际上就是在进行一种所谓的预剪枝;另一种形式的剪枝需要使用测试集和训练集,称作后剪枝

预剪枝

树构建算法其实对输入的参数tolS和tolN非常敏感,如果使用其他值将不容易达到这么好的效果。为了说明这一点,可以尝试:

print(createTree(myDat,ops=(0,1)))

与之前的只包含两个节点的树相比,这里构建的树过于臃肿,它甚至为数据集中的每个样本都分配了一个叶节点。

用新数据构建新的树:

这里构建的树都有很多叶节点,产生这个现象的原因在于,停止条件tolS对误差的数量级十分敏感。如果在选项中花费时间并对上述误差容忍度取平方值,或许也能得到仅有两个叶节点组成的数:

print(createTree(myDat,ops=(10000,4)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值