• 谦
    2021-09-17
    我觉得比较好的避免过拟合是增加样本数量,使得样本尽可能覆盖主要的应用场景,虽然付出的成本比较高,但是能够得到一个有比较高实用价值的预测模型,曾经试过用14万条数据做回归,线性回归的效果不理想,然后就用了决策树回归,因为数据样本足够多,所以在增加决策树深度的时候,训练得分和测试得分都在增加,这应该算是一个特例。除了增加样本量,一般会先来一次预训练,把所有特征都进行训练,然后通过sklearn里面的feature importance筛选贡献度高的特征重新进行训练,避免特征过多造成的过拟合。

    作者回复: 嗯 对的,数据量越大,过拟合的可能越小。排除掉无用的特征也十分必要。谢谢分享!

    
    5
  • 罗辑
    2021-09-21
    引用一段解释: 首先我们要区分叶子节点(也称为外部节点 )和内部节点 。内部节点将具有进一步的分割(也称为子节点),而叶子根据定义是没有任何子节点的节点(不能任何进一步的分割)。 min_samples_split指定分割 内部节点 所需的最小样本数,而min_samples_leaf指定在 叶 节点处所需的最小样本数。 例如,如果min_samples_split = 5,并且内部节点有7个样本,则允许拆分。但是,我们说分裂产生了两片叶子,一个带有1个样本,另一个带有6个样本。如果为min_samples_leaf = 2,则将不允许分割(即使内部节点有7个样本),因为生成的叶子之一将少于叶子节点处所需的最小样本数。 min_samples_leaf,无论的值如何,都应保证每个叶子中的样本数量最少min_samples_split。否则,子节点将不进行分裂,直接变成叶子节点。

    作者回复: 👍

    
    3
  • 在路上
    2021-09-17
    佳哥好,min_samples_split和min_samples_leaf的测试结果如下: ``` 训练集上的R平方分数-决策树(min_samples_split=6, min_samples_leaf=3): 0.8116 训练集上的R平方分数-决策树(min_samples_split=4, min_samples_leaf=2): 0.8871 测试集上的R平方分数-决策树(min_samples_split=6, min_samples_leaf=3): 0.4457 测试集上的R平方分数-决策树(min_samples_split=4, min_samples_leaf=2): 0.2393 ``` 由此可见min_samples_split和min_samples_leaf值越小,对训练集拟合越好,对测试集评估越不准确。min_samples_split和min_samples_leaf决定了决策树的深度,值越小,树越深。 今天老师在选择哪个特征作为决策树节点的时候提到了熵的概念,我的理解是哪个特征能够最均匀的把数据一分为二,就选择哪个特征。熵值越小,确定性越高,确定性指的就是数据集的大小越来越小。 最后说一下我发现的几个勘误。分类问题过拟合图示好像错了,和回归问题过拟合图示相同。决策树深度不限和深度为3的代码提示和直方图有误,代码中print信息写成了“深度为2”,直方图是线性回归正则化的图。我觉得给每个图弄一个编号,是不是更容易避免错误。
    展开

    作者回复: 好的兄弟,勘误收到!我们马上处理修改!思考题目的分析也正确到位。认真优秀!

    
    3
  • Geek_c66559
    2022-03-08
    1、当 min_samples_leaf 和 min_samples_split 的值设置的太小,可能会发生over-fitting;如果值设的太大,又可能会发生under-fitting 2、当neural network遇上over-fitting,常用的解决策略包括Dropout,Regularization ,Bagging

    作者回复: 对哒

    
    2