python中噪音是什么意思_python:决策树中怎么处理噪音点

问题:决策树中怎么处理噪声点

解答:如果训练集中存在噪声点,那样模型在学习的过程中会将噪声与标签的关系也学习进去,这样就会造成模型的过拟合化,也就是模型在训练集的分类的效果很好,在未知数据上处理不好

怎么解决呢?

可以采用剪枝的方法。

一般存在“预剪枝”和“后剪枝”两种策略。

预剪枝即为在决策树生成过程中,对当前节点的划分结果进行评价,如果该划分不能带来决策树泛化能力(即处理未见过示例的能力)的提升,则停止划分,将当前结点标记为叶节点;

后剪枝则是先生成一棵完整的决策树,然后自底向上的对非叶节点进行评价,如果剪掉该枝可以使得泛化性能提升,则将该子树替换为叶节点。预先剪枝可能过早的终止决策树的生长,后剪枝一般能够产生更好的效果。但后剪枝在子树被剪掉后,决策树生长的一部分计算就被浪费了。这里简单介绍一个剪枝算法,首先明确,我们剪枝的目的是为了减小过拟合带来的不良影响,降低决策树模型的复杂度,但是同时也要保证其对于训练数据有较好的分类效果。因此,定义一个损失函数,如下

其中,a>=0为参数,C(T)表示模型对于训练数据的预测误差。|T|表示叶节点的个数,可用于表示模型的复杂度。可以看出,参数a控制着模型复杂度和对训练数据拟合程度两者之间的影响。较大的a促使我们选择一个较简单的树,而较小的a则偏向于对训练数据的有更好的拟合效果。

因此可以利用上面的损失函数进行剪枝操作,这样得到的决策树即考虑到对训练数据的拟合,又增强了泛化能力。

其他一些剪枝算法有的借助验证集实现,也有算法通过设置信息增益的阈值来作为剪枝判断标准,具体的算法过程可以参考相关文献。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值