• 机器学习入门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++之模板-类模板
    c++之函数模板的局限性
    c++之普通函数和模板函数的调用规则
    c++之普通函数和模板函数的区别
    c++之函数模板案例
    c++之模板函数-模板
    c++文件操作之二进制文件-读文件
    c++文件操作之二进制文件-写文件
    FFmpeg获取DirectShow设备数据(摄像头,录屏)
  • 原文地址:https://www.cnblogs.com/anliven/p/10280028.html
Copyright © 2020-2023  润新知