【机器学习】(19)—— 数据特性与标签 数据特性与标签划分前先摸清文章目录数据特性与标签划分前先摸清1. 为什么「先划分」还不够2. 数据特性四问2.1 类型是什么数据2.2 数量样本够不够2.3 数据质量2.4 可信度3. 不可靠数据从哪来4. 不完整样本删除还是填补4.1 什么时候删除4.2 什么时候填补5. 标签直接标签与代理标签5.1 两种标签5.2 人工标注 vs 自动标注6. 划分中的隐藏坑6.1 跨集合重复6.2 验证集 / 测试集磨损6.3 分布不一致与非平稳6.4 变换泄漏7. 划分前清单与汽车小例子8. 动手去重、填补、防泄漏划分9. 能力边界与常见误区9.1 适用边界9.2 常见误区10. 关键术语速查11. 延伸阅读12. 小结摘要第 18 篇讲了训练/验证/测试三分法但若数据本身不可靠再标准的划分也只是「把垃圾切成三份」。本文讲清数据集的类型、数量、质量与可信度不完整样本该删还是该补直接标签与代理标签怎么选以及划分前后最常见的隐藏坑重复、验证集磨损、分布错位、变换泄漏。继续用汽车重量与油耗示例。适合刚读完泛化入门的读者。1. 为什么「先划分」还不够三分法回答的是参数在哪学、超参在哪调、最终在哪验收。它回答不了另一类问题这批车的重量、标签靠不靠谱缺了 MPG 的行怎么办「高效」标签是真标记还是用别的字段凑的训练集和测试集是不是同一辆车出现了两次数据集Dataset是样本的集合模型再强也强不过它所见过的数据。划分之前先把家底摸清。本单元进度篇次聚焦第 18 篇泛化、过/欠拟合、三分法本篇19数据特性、标签、划分中的坑后续篇类别不平衡模型复杂度与损失曲线2. 数据特性四问2.1 类型是什么数据一张表里常见并存类型汽车示例专栏位置数值重量、排量、MPG第 1416 篇类别品牌、颜色、邮编第 17 篇文本 / 多媒体车评、外观图后续专题其他模型输出上游打分、Embedding进阶篇类型搞错把邮编当数值会从根上歪掉第 17 篇已强调过。2.2 数量样本够不够粗经验可训练参数越多通常需要越多样本。简单说法是样本数最好比参数量大一个数量级以上好模型往往还要更多。另一条实用规律大样本 少而精的特征常常胜过小样本 特征堆满。专栏里 7 辆车只够讲概念真实油耗模型需要远更大规模。小数据也不是绝路若能从同结构、大数据上预训练再适配有时也能出活——但那是迁移学习路线前提仍是标签与特征定义要对齐。2.3 数据质量质量不必玄学化用结果定义即可高质量数据帮助模型达成目标低质量数据阻碍目标。预测「是否高效」时若高效标签大量标反再漂亮的 AUC 也只是拟合错误标签。2.4 可信度可信度Reliability问的是标签错得多吗特征噪不噪过滤条件是否匹配任务做垃圾邮件检测时机器人流量可能该留做「真人搜索体验」时机器人查询往往该滤掉——同一类脏数据任务不同去留不同。3. 不可靠数据从哪来问题汽车例子典型后果缺值某行重量空白无法组成完整特征向量重复样本同一日志上传两次训练/测试泄漏分数虚高坏特征值3.43 录成 34.3回归被极端点拉歪第 16 篇坏标签重油车标成高效监督信号本身错了坏数据段某日传感器全坏局部切片系统性偏差大到一定规模的数据集几乎一定有异常值关键是用规则、单测、监控把离谱值标出来再决定删、改还是保留第 16 篇的异常值决策树仍然适用。4. 不完整样本删除还是填补完整样本每个要用的特征都有值。不完整样本至少一个必要特征缺失。不要直接拿缺特征的行去训线性/逻辑回归——向量长度对不上或被迫塞进无意义的默认值却不告诉模型。4.1 什么时候删除完整样本已经够训出有用模型某一列缺失极多且实验证明去掉该特征损失不大 → 可删列而不是硬补删除要小心别把重要但稀有的真实样本当垃圾扔掉。吃不准时可以做两套数据只删 vs 填补对比验证集表现。4.2 什么时候填补完整样本不够时常用填补Imputation用有依据的估计值补上而不是乱填。数值列常见均值、中位数有时序时也可用邻近时刻但补完后训练集仍要打乱避免按时间排序直接训练。填补值几乎总不如真值。更好的做法是加一列布尔标记例如weight_is_imputed让模型自己学「补出来的重量要不要少信一点」。标准化后均值常为 0缺值补 0 在 z-score 空间里往往对应「补均值」。5. 标签直接标签与代理标签监督信号来自标签Label。标签也必须最终能变成浮点数才能进损失计算。5.1 两种标签类型含义汽车例子直接标签与预测目标完全一致预测是否高效列里就有efficient代理标签与目标相近但不相同没有efficient用「是否上过节能榜」近似能直接用直接标签就别绕弯。代理标签永远是折中模型上限取决于「代理」和「真目标」有多贴。再举一个非车例子帮助直觉想预测「是否有自行车」若没有owns_bike用recently_bought_bike往往是还不错但不完美的代理——买车的人多半有车但也可能是送礼。专栏里用 MPG 阈值造「高效」标签时要想清楚你要的是「官方节能认证」还是「按 MPG 切一刀」后者是可复现的工程定义前者才是某些业务的直接标签。5.2 人工标注 vs 自动标注人工标注自动标注优点能做难任务倒逼标准写清楚便宜、可规模化风险贵、慢、人也会错需多人交叉上游模型错会系统性传染实用建议自己先标一小批如 1001000 条和众包/同事结果对照。不一致时先别默认自己一定对——尤其涉及主观判断时优先把标注说明书写清楚再重标。6. 划分中的隐藏坑第 18 篇讲了三分法该怎么用下面是分数「假好看」的常见原因。6.1 跨集合重复同一辆车或同一条日志既在训练集又在测试集等于开卷考试。划分后应检查并去掉验证/测试里与训练重复的样本。邮件反垃圾场景里同一封垃圾信复制多份最容易制造「训练测试双 99%」的幻觉。6.2 验证集 / 测试集磨损验证集可以反复用于调参但用得越多越像间接训练集置信度下降。测试集若也拿来天天调最后验收就失真。对策阶段性换新验证/测试数据或严格限制测试集动用次数。6.3 分布不一致与非平稳训练集全是夏季车况、测试全是冬季或用十年前的用户口味预测三年后的爆款——都属于第 18 篇提过的同分布 / 平稳假设被破坏。此时测试损失低只说明切到了相似切片不代表上线能泛化。6.4 变换泄漏更隐蔽的一种先对全表做StandardScaler.fit再划分训练/测试。测试信息通过均值方差漏进了预处理。正确顺序是先划分 → 只在训练集 fit 变换 → 再 transform 验证/测试第 15、17 篇的 Pipeline 思路正是为了堵住这类洞。7. 划分前清单与汽车小例子假设原始表如下含故意埋的坑idweightmpgnote13.5018正常23.6915正常33.5018与 id1 重复4NaN16缺重量534.316疑似录入错误62.3724正常建议处理顺序去重按业务键如车架号演示里可用weightmpg近似异常值34.3 核对后删除或改正缺值完整样本够则删行不够则中位数填补 weight_is_imputed确认标签定义回归用mpg分类用阈值后的efficient打乱再切训练/验证/测试检查各集合是否仍有重复、重量分布是否离谱8. 动手去重、填补、防泄漏划分importnumpyasnpimportpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.imputeimportSimpleImputerfromsklearn.preprocessingimportStandardScalerfromsklearn.pipelineimportPipelinefromsklearn.linear_modelimportLinearRegressionfromsklearn.metricsimportmean_squared_error dfpd.DataFrame({weight:[3.50,3.69,3.50,np.nan,34.3,2.37,4.34,4.42,3.44,3.43],mpg:[18,15,18,16,16,24,15,14,18,16],})# 1) 去重dfdf.drop_duplicates()# 2) 粗滤明显录入错误业务阈值示例dfdf[df[weight].isna()|(df[weight]10)].copy()# 3) 划分先切出测试再切验证标签与特征一起切Xdf[[weight]]ydf[mpg]X_tv,X_test,y_tv,y_testtrain_test_split(X,y,test_size0.2,random_state0)X_train,X_val,y_train,y_valtrain_test_split(X_tv,y_tv,test_size0.25,random_state0)# 4) 只在训练集 fit中位数填补 标准化pipePipeline([(imputer,SimpleImputer(strategymedian)),(scaler,StandardScaler()),(model,LinearRegression()),])pipe.fit(X_train,y_train)print(val MSE:,mean_squared_error(y_val,pipe.predict(X_val)))print(test MSE:,mean_squared_error(y_test,pipe.predict(X_test)))# 注意没有在全表上先 fit scaler避免变换泄漏样本很少时分数会抖重点看流程去重 → 清洗 → 再划分 → 训练集上 fit。9. 能力边界与常见误区9.1 适用边界本篇面向表格型监督数据图像/语音的「质量」还有分辨率、采样率等维度原则相同先可信再划分。类别严重不平衡时「可信的标签」仍可能让准确率虚高——下一篇专门讲。9.2 常见误区误区正解有三分法就够了先保证数据可信再谈划分缺值一律删光可能删掉关键稀有样本可对比填补方案缺值乱填 0 且不告知模型至少标记是否为填补值代理标签当直接真相始终评估代理与真目标的差距验证集刷到完美再测一次测试集测试集也会磨损限制动用次数全表标准化后再划分典型泄漏必须先划分再 fit10. 关键术语速查术语一句话解释数据集用于训练与评估的样本集合样本 / 示例表中的一行一组特征 可选标签数据质量是否有助于达成建模目标可信度特征与标签可被信任的程度填补用合理估计补全缺失特征直接标签与预测目标完全一致的标签代理标签近似目标、但不完全相同的标签变换泄漏用到了验证/测试信息来 fit 预处理11. 延伸阅读资源适合看什么pandas 去重drop_duplicates用法sklearn SimpleImputer均值/中位数等填补sklearn Pipeline防止预处理泄漏专栏第 16 篇异常值识别与处理专栏第 18 篇泛化与三分法12. 小结三分法之前先问四件事类型对不对、样本够不够、质量帮不帮目标、数值与标签信不信。不完整样本在「删」与「补」之间权衡填补时最好带上标记列。标签能直接则直接代理要清楚近似误差。划分时盯死重复、验证/测试磨损、分布错位和变换泄漏。摸清家底 → 去重清洗 → 处理缺失与标签 → 打乱划分 → 仅训练集 fit 变换下一篇进入类别不平衡正负样本差几个数量级时为什么准确率会骗人以及该怎么评估与处理。系列导航上一篇【机器学习】18—— 泛化与过拟合下一篇预告类别不平衡数据集的评估与处理如果本篇对你有帮助欢迎点赞、收藏、关注博主机器学习专栏持续更新中下次更新不迷路。

相关新闻

最新新闻

Windows 10官方镜像下载与安全验证指南

Windows 10官方镜像下载与安全验证指南

1. Windows 10正式版镜像获取全指南作为微软迄今为止最成功的操作系统之一,Windows 10在全球拥有超过10亿用户。无论是系统重装、虚拟机搭建还是多设备部署,获取官方原版镜像都是第一步。微软官方提供了多种获取途径,但很多用户在下载过程中会…

2026/7/17 3:47:41
大模型GEO内容更新频率:3个节奏规律提收录权重,零成本提30%引用率附更新计划表

大模型GEO内容更新频率:3个节奏规律提收录权重,零成本提30%引用率附更新计划表

作者:张钧泽(曌选科技GEO优化主理人,20生产级RAG/GEO项目经验)做GEO优化的企业普遍有个认知误区,觉得内容更新得越频繁,大模型给的权重就越高,引用率就越好,实际上恰恰相反。 张钧泽…

2026/7/17 3:47:41
Ubuntu命令行操作与系统管理实战指南

Ubuntu命令行操作与系统管理实战指南

1. Ubuntu命令行操作基础认知 第一次接触Ubuntu终端时,那个闪烁的光标总让我想起老式打字机。与图形界面不同,命令行就像与计算机直接对话,每个指令都是精准的对话词句。作为Linux发行版中的佼佼者,Ubuntu继承了Debian的稳定特性&…

2026/7/17 3:47:41
Windows C盘空间不足?安全清理与优化指南

Windows C盘空间不足?安全清理与优化指南

1. 为什么C盘总是莫名其妙变红? 作为一名常年和Windows系统打交道的IT从业者,我见过太多同事和网友对着"飘红"的C盘抓狂。上周又帮市场部的小王解决了这个问题——她的128G SSD系统盘居然只剩3GB可用空间。通过WinDirStat分析发现&#xff0c…

2026/7/17 3:47:41
Meta Muse Spark 1.1:知识工作智能体的基准测试与部署实践

Meta Muse Spark 1.1:知识工作智能体的基准测试与部署实践

这次我们来看一个在知识工作领域表现亮眼的新模型——Meta 最新发布的 Muse Spark 1.1。根据 Artificial Analysis 最新公布的 AA-Briefcase 基准测试结果,这个模型获得了 863 分的综合评分,与 Google 的 Gemini 3.5 Flash 和 NVIDIA 的 Nemotron 3 Ultr…

2026/7/17 3:47:41
背景音乐的科学原理与应用:从脑波调节到智能系统实现

背景音乐的科学原理与应用:从脑波调节到智能系统实现

如果你正在寻找一种简单有效的方式来提升睡眠质量、缓解工作压力,或者为冥想练习创造更好的氛围,那么这篇文章就是为你准备的。很多人误以为"背景音乐"只是可有可无的环境装饰,但实际上,科学选择的背景音乐能够直接影响…

2026/7/17 3:42:41

月新闻