全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1700 0
2018-03-27

课程简介


模型的泛化能力怎样,直接影响到模型在实际生产中的工作效果。我们对于算法学习中所用到的数据集的处理方法更是起着决定因素。为了提升模型的泛化能力,我们需要对数据集进行划分处理,即分成训练集和测试集。本节将介绍划分数据集的重要意义,以及怎样划分数据集,如何划分更好等等问题。


学习目标


  • 了解训练集与测试集

  • 了解如何划分训练集与测试集

  • 了解如何更好地划分训练集与测试集


复制代码

一、划分训练集与测试集

为了评估我们的监督模型的泛化能力怎样,我们可以将数据划分成一个训练集和一个测试集: 屏幕快照 2018-03-26 下午1.36.14.png

复制代码

思考机器学习的工作原理,有助于理解训练/测试数据划分想法的意义。真实世界的系统训练他们所拥有的数据,而对于其他数据来源(来自客户,传感器,或其他的来源),已经训练过的分类器必须在全新的数据集上进行预测。我们可以在训练期间使用训练/测试划分来模拟该过程 - 测试数据是在生产期间将进入系统的"未来数据"的模拟。


特别对于鸢尾花,鸢尾花中的150个标签是按类别进行排序的,这意味着如果我们使用某个比例来划分数据,这将导致从根本上改变类别分布。例如,如果我们采用普遍的2/3的训练数据和1/3的测试数据进行划分,我们的训练数据集将只包括类别为0和1(Setosa和Versicolor)的鸢尾花,我们的测试集将只包含类别标签为2(维吉尼亚鸢尾花)的样本。


假设所有样本都是相互独立的(对比时间序列数据),我们希望在划分数据集之前随机排列数据集。

复制代码

屏幕快照 2018-03-26 下午1.38.19.png 现在我们需要把数据划分成训练集和测试集。幸运的是,这是机器学习中的一种常见模式,scikit-learn 具有将数据集划分成训练集和测试集的预处理功能。在这里,我们使用50%的数据作为训练集,50%作为测试集。80%和20%是另一个普遍的划分比例,没有硬性规定。最重要的是要确保使用没有用到过的数据来评估你的系统!

复制代码

以上内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群