机器学习前的准备:划分数据集

在拟合模型前,需要对已知的数据集(包括特征数据项和目标数据项)作划分。通常我们需要把已知的数据集分成训练数据 (Train

Data)、验证数据 (Validate Data)和测试数据 (Test

Data)三个部分,如图1所示。这三个部分的作用是用训练数据来训练模型,用验证数据调节模型参数,用测试数据来评价模型。训练数据在统计学领域也称为样本数据,一条数据也称为一个样本。评价模型后就可得到模型的各种评价指标的值,从而方便选择合适的模型。这三个部分事先应都已经有目标数据项的值。

要想打好机器学习的数学基础,请参见清华大学出版社的人人可懂系列,包括《人人可懂的微积分》(已上市)、《人人可懂的线性代数》(即将上市)、《人人可懂的概率统计》(即将上市)。

现实应用中,标记目标数据项的值也是一项工作量相当大的工作。在很多工程应用中,会聘请大量的工作人员来做数据标记的工作。

图1 已知数据集的划分

有的模型不需要有验证数据,则可将已知的数据集划分为训练数据和测试数据两个部分。这说明这种模型不需要验证数据来调节模型的参数。测试数据还有一点与验证数据不同的是:对于模型来说,测试数据是从未遇到过的新数据,因而可以测试出模型面对新数据作预测的泛化能力。

所谓泛化能力,就是指的应对广泛的数据(也即模型没有遇到过的数据)的预测能力。"泛"字带有普遍的含义。对于模型来说,自然是泛化能力越强越好。

提示:通常对模型作评价时认为泛化能力越强越好。但是评价泛化能力得靠MAE **、MSERMSER²这些评价指标针对测试数据来判断。这些指标可以用来评价模型对训练数据的拟合程度,评价泛化能力则要用这些指标和模型对测试数据来作出综合评判。

拟合出线性回归模型后,就可以用模型和要作预测的数据(含特征项,不含目标数据)来预测出目标数据项的值。

那么已知的数据集的三个部分应怎么划分比较合适呢?有没有特定的比例讲究?目前对比例还没有准确一致的说法。但是通常认为训练数据要比验证数据、测试数据要多,训练数据应占一半多。Python中已经提供了现成可用的数据集划分工具,一会在实例中再作详细讲解。通常认为,在使用同样的数据集及其划分规则的情况下,对构建出的各种模型之间进行比较才更具意义和实用价值。

要想打好机器学习的数学基础,请参见清华大学出版社的人人可懂系列,包括《人人可懂的微积分》(已上市)、《人人可懂的线性代数》(即将上市)、《人人可懂的概率统计》(即将上市)。

相关推荐
王锋(oxwangfeng)4 小时前
基于 DINO 与 Chinese-CLIP 的自动驾驶语义检索系统架构
人工智能·机器学习·自动驾驶
巫婆理发2224 小时前
自然语言处理与词嵌入
人工智能·自然语言处理
共享家95274 小时前
基于 Coze 工作流搭建历史主题图片生成器
前端·人工智能·js
IT研究所5 小时前
信创浪潮下 ITSM 的价值重构与实践赋能
大数据·运维·人工智能·安全·低代码·重构·自动化
AI职业加油站5 小时前
Python技术应用工程师:互联网行业技能赋能者
大数据·开发语言·人工智能·python·数据分析
I'mChloe5 小时前
机器学习核心分支:深入解析非监督学习
人工智能·学习·机器学习
J_Xiong01175 小时前
【Agents篇】06:Agent 的感知模块——多模态输入处理
人工智能·ai agent·视觉感知
深蓝海域知识库5 小时前
深蓝海域中标大型机电企业大模型知识工程平台项目
大数据·人工智能
爱吃泡芙的小白白5 小时前
机器学习中的“隐形之手”:偏置项深入探讨与资源全导航
人工智能·机器学习
sheji34165 小时前
【开题答辩全过程】以 基于hadoop的空气质量数据分析及可视化系统为例,包含答辩的问题和答案
大数据·hadoop·数据分析