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

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

1- 拆分数据

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

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

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

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

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

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

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

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

2- 关键词

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

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

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

机器学习入门06 - 训练集和测试集 (Training and Test Sets)的更多相关文章

  1. sklearn获得某个参数的不同取值在训练集和测试集上的表现的曲线刻画

    from sklearn.svm import SVC from sklearn.datasets import make_classification import numpy as np X,y ...

  2. 随机切分csv训练集和测试集

    使用numpy切分训练集和测试集 觉得有用的话,欢迎一起讨论相互学习~Follow Me 序言 在机器学习的任务中,时常需要将一个完整的数据集切分为训练集和测试集.此处我们使用numpy完成这个任务. ...

  3. sklearn学习3----模型选择和评估(1)训练集和测试集的切分

    来自链接:https://blog.csdn.net/zahuopuboss/article/details/54948181 1.sklearn.model_selection.train_test ...

  4. sklearn——train_test_split 随机划分训练集和测试集

    sklearn——train_test_split 随机划分训练集和测试集 sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http: ...

  5. Sklearn-train_test_split随机划分训练集和测试集

    klearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http://scikit-learn.org/stable/modules/gener ...

  6. 将dataframe分割为训练集和测试集两部分

    data = pd.read_csv("./dataNN.csv",',',error_bad_lines=False)#我的数据集是两列,一列字符串,一列为0,1的labelda ...

  7. 用python制作训练集和测试集的图片名列表文本

    # -*- coding: utf-8 -*- from pathlib import Path #从pathlib中导入Path import os import fileinput import ...

  8. python 将数据随机分为训练集和测试集

    # -*- coding: utf-8 -*- """ Created on Tue Jun 23 15:24:19 2015 @author: hd "&qu ...

  9. Python数据预处理—训练集和测试集数据划分

    使用sklearn中的函数可以很方便的将数据划分为trainset 和 testset 该函数为sklearn.cross_validation.train_test_split,用法如下: > ...

随机推荐

  1. 01-SpringMVC 原理

    说明:所有代码调式的环境:开发环境idea,jdk7,tomcat8.5.27,数据库MySQL5.1,spring3.2 SpringMVC 1.什么是SpringMVC? springmvc是sp ...

  2. [Hadoop]Hadoop章3 NameNode的ZKFC机制

    基本概念 首先我们要明确ZKFC 是什么,有什么作用: zkfc是什么? ZooKeeperFailoverController 它是什么?是Hadoop中通过ZK实现FC功能的一个实用工具. 主要作 ...

  3. php 随机生成ip

    #随机生成IP 中国区 function randip(){ $ip_1 = -1; $ip_2 = -1; $ip_3 = rand(0,255); $ip_4 = rand(0,255); $ip ...

  4. css摘要

    由于需要,今天花三个小时了解一下css,在此记录一些摘要: 参考w3school 1. 当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢? 一般而言,所有的样式会根据下面的规则层叠于一个 ...

  5. js的map方法遍历数组

    map方法有返回值,返回值用变量接收. 例子: var num = [1, 2, 3]; var newNum = num.map((ele, index) => { return ele + ...

  6. Day07 (黑客成长日记) 函数的参数及作用

    定义函数: 1.定义函数注意: (1)位置参数:直接定义函数. def func(a,b): print(a,b) func(1,2) (2)默认参数:关键字参数:参数名= ‘默认的值‘ def fu ...

  7. windows安装zookeeper

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  8. 网页偶现性崩溃-chrome

    简介: 项目前台框架:Angular2 + Bootstrap(日期等组件) + Echarts + 响应式(包括页面.字体缩放:rem) chrome版本:多个版本测试均有此问题. 表现: 订单详情 ...

  9. IT行业三大定律

    1:摩尔定律 该定律由Inter公司创始人戈登摩尔提出,摩尔定律指出:每一年半计算机等IT产品的性能会翻一番:或者说相同性能的产品在一年半后价格会降一半.   表现为:为适应摩尔定律,IT公司必须在较 ...

  10. 6 week work 3

    sticky vs fixed sticky:表示粘贴到某个位置.当组件设置了该属性值后,当页面滑动时,组件会跟着页面移动,当组件触及到窗体后,页面若继续滑动,组件则处在与窗体接触的位置不动.元素的定 ...