开发手册 欢迎您!
软件开发者资料库

训练数据和测试数据

使用Python培训数据和测试数据进行机器学习 - 使用Python从简单而简单的步骤学习机器学习,从基本到高级概念,包括简介,概念,环境设置,学习类型,数据预处理,分析和可视化,培训和测试数据,技术,算法,应用。

培训数据和测试数据是机器学习中的两个重要概念.本章将详细讨论它们.

训练数据

训练集中的观察结果构成了算法用于学习的经验.在监督学习问题中,每个观察包括观察到的输出变量和一个或多个观察到的输入变量.

测试数据

测试集是一个用于使用某些性能指标评估模型性能的观察集.重要的是,测试集中不包括来自训练集的观察结果.如果测试集确实包含训练集中的示例,则很难评估算法是否已经学会从训练集中推广或者只是记住它.

一个推广的程序以及将能够有效地执行新数据的任务.相反,通过学习过于复杂的模型来记忆训练数据的程序可以准确地预测训练集的响应变量的值,但是不能预测新示例的响应变量的值.记住训练集称为过度拟合.记住其观测结果的程序可能无法很好地执行其任务,因为它可以记住噪声或巧合的关系和结构.平衡记忆和概括,或过度拟合和不合适,是许多机器学习算法常见的问题. 正则化可以应用于许多模型以减少过度拟合.

除了训练和测试数据外,第三组观察结果称为

某些训练集可能只包含一个几百个观察;其他可能包括数百万.廉价存储,增加的网络连接,无处不在的传感器智能手机以及对隐私的态度转变,促成了大数据的当代状态,或者数百万或数十亿示例的训练集.

但是,机器学习算法也遵循"垃圾输入,垃圾输出"的格言.通过阅读包含许多错误的大型,令人困惑的教科书来学习考试的学生可能不会比阅读简短但写得很好的教科书的学生得分更好.类似地,在大量噪声,不相关或标记不正确的数据上训练的算法将不会比在较小的数据集上训练的算法表现得更好,这些数据更能代表现实世界中的问题.

许多受监督的训练集是手动准备的,或通过半自动化过程准备的.在某些领域中,创建大量受监督数据的成本可能很高.幸运的是,有几个数据集与 scikit-learn 捆绑在一起,允许开发人员专注于试验模型.

在开发过程中,特别是在训练数据稀缺时,可以使用称为交叉验证的实践来训练和验证相同数据上的算法.在交叉验证中,训练数据被分区.使用除一个分区之外的所有分区来训练该算法,并在剩余分区上进行测试.然后将分区旋转几次,以便对所有数据进行训练和评估.

例如,考虑将原始数据集划分为五个大小相等的子集,标记为A最初,模型在分区B到E上进行训练,并在分区A上进行测试.在下一次迭代中,模型在分区A,C,D和E上进行训练,并在分区B上进行测试.分区是旋转,直到模型已在所有分区上进行训练和测试.与测试单个数据分区相比,交叉验证可以更准确地估计模型的性能.

性能测量 : 去;偏差和方差

许多指标可用于衡量一个程序是否正在学习如何更有效地执行其任务.对于监督学习问题,许多性能指标都会测量预测误差的数量.

模型预测误差有两个根本原因 -  偏差方差的.假设您有许多训练集,这些训练集都是唯一的,但同样代表了人口.无论训练的训练集如何,具有高偏差的模型都会对输入产生类似的误差;该模型偏倚了自己对训练数据中证明的关系的真实关系的假设.相反,具有高方差的模型将根据训练的训练集产生输入的不同误差.具有高偏差的模型是不灵活的,但具有高方差的模型可能非常灵活,以便对训练集中的噪声进行建模.也就是说,具有高方差的模型过度拟合训练数据,而具有高偏差的模型不适合训练数据.

理想情况下,模型将具有低偏差和方差,但减少一个的努力将经常增加另一个.这被称为偏差 - 方差权衡.我们可能不得不考虑本教程中介绍的几种模型的偏差 - 方差权衡.无监督学习问题没有测量的错误信号;相反,无监督学习问题的性能指标衡量数据中发现的结构的一些属性.大多数绩效指标只能用于特定类型的任务.

应使用表现在现实世界中制造错误的成本的绩效指标来评估机器学习系统.虽然这看起来微不足道,但以下示例说明了一般性任务的性能度量的使用,但不适用于其特定应用.

准确度,精度和召回

考虑一个分类任务,其中机器学习系统观察肿瘤并且必须预测这些肿瘤是良性还是恶性. 准确度,或者被正确分类的实例的比例,是衡量项目绩效的一个明显指标.虽然准确度确实衡量了该计划的表现,但它没有区分被归类为良性的恶性肿瘤和被归类为恶性的良性肿瘤.在某些应用程序中,所有类型错误产生的成本可能相同.然而,在这个问题中,未能识别恶性肿瘤比将良性肿瘤误分类为恶性肿瘤更严重.

我们可以测量每种可能的预测结果以创建不同的快照分类器的性能.当系统正确地将肿瘤归类为恶性时,该预测被称为真阳性.当系统错误地将良性肿瘤归类为恶性肿瘤时,预测是假阳性.类似地,假阴性是对肿瘤是良性的不正确的预测,并且真阴性是肿瘤是良性的正确预测.这四个结果可用于计算分类性能的几种常用度量,如准确度,精确度,召回等.

准确度使用以下公式计算 : 去;

ACC =(TP + TN)/(TP + TN + FP + FN)

其中,TP是真阳性的数量

TN是真阴性的数量

FP是误报的数量

FN是漏报的数量.

精确度是预测为恶性肿瘤的部分,实际上是恶性肿瘤.精度使用以下公式计算 :

PREC = TP/(TP + FP)

召回是系统鉴定的恶性肿瘤的一部分. Recall使用以下公式计算 :

R = TP/(TP + FN)

在这个例子中,精确度测量预测为实际恶性的恶性肿瘤的比例.召回测量检测到的真正恶性肿瘤的比例.精确度和召回率可以揭示出具有令人印象深刻的准确度的分类器实际上无法检测到大多数恶性肿瘤.如果大多数肿瘤是良性的,即使是从不预测恶性肿瘤的分类器也可以具有高精度.具有较低准确度和较高召回率的不同分类器可能更适合于该任务,因为它将检测更多的恶性肿瘤.还可以使用许多其他分类性能指标.