zoukankan      html  css  js  c++  java
  • 机器学习入门06

    原文链接:https://developers.google.com/machine-learning/crash-course/training-and-test-sets

    测试集是用于评估根据训练集开发的模型的数据集。

    1- 拆分数据

    可将单个数据集拆分为一个训练集和一个测试集。

    • 训练集 - 用于训练模型的子集。
    • 测试集 - 用于测试训练后模型的子集。

    训练集的规模越大,模型的学习效果越好。
    测试集规模越大,对于评估指标的信心越充足,置信区间就越窄。
    在创建一个能够很好地泛化到新数据模型的过程中,测试集充当了新数据的代理。
    拆分数据的一些注意事项:

    • 两个数据集必须相互独立。
    • 确保先进行随机化,再拆分数据。
    • 如果数据集规模很小,可能需要执行诸如交叉验证之类较为复杂的操作。

    确保测试集满足以下两个条件:

    • 规模足够大,可产生具有统计意义的结果。
    • 能代表整个数据集。换言之,挑选的测试集的特征应该与训练集的特征相同。

    请勿对测试数据进行训练。
    如果评估指标取得了意外的好结果,则可能表明您不小心对测试集进行了训练。例如,高准确率可能表明测试数据泄露到了训练集。


    举例说明
    假设一个模型要预测某封电子邮件是否是垃圾邮件,它使用主题行、邮件正文和发件人的电子邮件地址作为特征。
    按照 80-20 的拆分比例将数据拆分为训练集和测试集。
    在训练之后,该模型在训练集和测试集上均达到了 99% 的精确率,原本预计测试集上的精确率会低于此结果。
    因此再次查看数据后发现,测试集中的很多样本与训练集中的样本是重复的(由于疏忽,在拆分数据之前,没有将输入数据库中的相同垃圾邮件重复条目清理掉)。
    无意中对一些测试数据进行了训练,因此无法再准确衡量该模型泛化到新数据的效果。

    2- 关键词

    过拟合 (overfitting)
    创建的模型与训练数据过于匹配,以致于模型无法根据新数据做出正确的预测。

    测试集 (test set)
    数据集的子集,用于在模型经由验证集的初步验证之后测试模型。
    与训练集和验证集相对。

    训练集 (training set)
    数据集的子集,用于训练模型。
    与验证集和测试集相对。

  • 相关阅读:
    C#
    C#
    ssh学习笔记
    (已解决)Could not open '/var/lib/nova/mnt/*/volume-*': Permission denied
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    如何在linux下安装idea
    The system has no LUN copy license
    调整mysql数据库最大连接数
    mysql数据库编码问题
    cinder支持nfs快照
  • 原文地址:https://www.cnblogs.com/anliven/p/10280028.html
Copyright © 2011-2022 走看看