返回介绍

数学基础

统计学习

深度学习

工具

Scala

三、验证曲线 和 学习曲线

发布于 2023-07-17 23:38:23 字数 2496 浏览 0 评论 0 收藏 0

3.1 验证曲线

  1. 验证曲线给出了estimator 因为某个超参数的不同取值在同一个测试集上预测性能曲线。

    它的作用是执行超参数调优。

  2. validation_curve 用于生成验证曲线,其原型为:

    
    
    xxxxxxxxxx
    sklearn.model_selection.validation_curve(estimator, X, y, param_name, param_range, cv=None, scoring=None, n_jobs=1, pre_dispatch='all', verbose=0)

    返回值:返回一个元组,其元素依次为:

    • train_scores:学习器在训练集上的预测得分的序列(针对不同的参数值),是个二维数组。
    • test_scores:学习器在测试集上的预测得分的序列(针对不同的参数值),是个二维数组。

    因为对于每个固定的参数值, $ MathJax-Element-23 $ 折交叉会产生多个测试集,得到多个测试得分。

    参数:

    • estimator:一个学习器对象。它必须有.fit方法用于学习,.predict方法用于预测。
    • param_name:一个字符串,指定了学习器需要变化的参数。
    • param_range:一个序列,指定了param_name指定的参数的取值范围。
    • 其它参数参考cross_val_score

3.2 学习曲线

  1. 学习曲线给出了estimator 因为数据集大小的不同而导致的学习器在训练集和测试集上预测性能曲线。

    其作用是评估样本集大小的变化对学习器的性能的影响。

  2. learning_curve函数用于生成学习曲线,其原型为:

    
    
    xxxxxxxxxx
    sklearn.model_selection.learning_curve(estimator, X, y, train_sizes=array([ 0.1, 0.33, 0.55, 0.78, 1. ]), cv=None,scoring=None, exploit_incremental_learning=False,n_jobs=1, pre_dispatch='all', verbose=0)

    返回值:返回一个元组,其元素依次为:

    • train_sizes_abs:考察数据集大小组成的序列。
    • train_scores:学习器在训练集上的预测得分的序列(针对不同的考察数据集),是个二维数组。
    • test_scores:学习器在测试集上的预测得分的序列(针对不同的考察数据集),是个二维数组。

    参数:

    • train_sizes:一个数组,给出了训练集的大小。

      • 如果元素为整数,则表示每个训练集的绝对大小。
      • 如果元素为浮点数,则表示每个训练集的相对大小。
    • exploit_incremental_learning:一个布尔值。如果estimator 支持增量学习,那么设置它为True

      此时该函数会使用增量学习来加速学习曲线的生成过程。

    • 其它参数参考validation_curve

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文