【Kaggle_ML学习】5.Underfitting-and-overfitting

本文介绍了机器学习中常见的两种问题:过拟合和欠拟合。通过实验展示了不同模型如何影响预测准确率,特别是决策树模型中max_leaf_nodes参数对过拟合和欠拟合的影响。通过验证数据评估模型性能,得出结论,模型可能因过拟合或欠拟合导致预测不准确,需要找到合适的平衡点。
摘要由CSDN通过智能技术生成

【Kaggle_ML学习】5.Underfitting-and-overfitting


在这篇文章最后,你将会了解到 UnderfittingOverfitting两个概念,并且能够运用这些idea来使你的模型更加准确

1. Experimenting With Different Models

根据上一篇文章所学习的内容,你现在有了测量模型准确率的可靠方法,接着你可以试着建立其他的models来看看哪个可以帮你做最准确的预测。

你可以在scikit-learn的文档中找到许多models,我们前面几章所用到的DecisionTreeRegressor就是一种,并且tree model也有很多种类,其中其最重要的一点就是选择tree的深度(depth)。

  • Overfitting

回想我们第一篇文章提到了decision tree,在实际运用中,我们也常会遇到一些10次split的tree,当这个tree变得越深(越多次split/分叉)时,我们的整个数据集(dataset)也会被慢慢分成一些较少的数据子集(fewer house in this case)在各个leaf node(没有子节点的node)中。

如果一个tree只有一次split,那么dataset被分成了2个groups,也就意味着每个leaf中都会有比先前更少的house,如果每个group被再一次split,将会得到4个groups,以此类推。

最后当我们split 10 次后,就会得到2^10(1024)个leaf nodes,拥有非常少的house的leaf也将会作出非常接近实际值的预测,但是它却可能对新的data作出非常不可靠的预测(因为每个预测都只建立在较少的house上了)

这个现象就称为Overfitting(指model于training data几乎完美契合,却与validation data和其他new data契合点的很差)

  • Underfitting

另一方面,如果你的tree的深度很浅(split次数很少),那么这个tree并不会将houses分成几个非常不同的(distinct) groups。
在这里插入图片描述
极端情况下,如果一个tree只将houses分为2或4个groups,每个group仍然有着大量各样的houses,会导致哪怕在training data中的预测也会与大多数的房子的真实价格相差甚远(同样地,在validation data中的拟合也不会好,因为model无法在如此浅的tree中获取足够重要的patterns和distinctions)。

这个现象称为Underfitting


2. Example

这有几个控制tree深度的方法,其中很多方法可以让树通过一些路径到达跟别的路径相比更深的深度。但是max_leaf_nodes参数提供了一种明

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值