数据准备与处理全解析
1. 数据缩放与范围问题
在数据处理中,我们常常希望将输入数据缩放到 [0, 1] 范围,目的是让训练过程尽可能高效,同时控制数值问题。但实际操作中,可能会出现转换后的值超出这个范围的情况。比如当原始数据中的最小值参与转换时,转换后的值可能为负数;或者遇到非常热的夜晚,正的温度值转换后可能大于 1。不过这些情况都没问题,因为系统训练完成后,我们可以输入任意值并得到相应输出。但我们仍需关注数据,若系统预测明天的汽车数量为负数,显然不能基于此做计划。
2. 交叉验证中的信息泄露问题
在构建数据转换时,我们应从训练集构建转换规则,然后将其应用到所有额外数据上。若不谨慎遵循此原则,就会出现信息泄露,即不属于转换规则的信息意外混入,影响转换结果。这不仅会导致数据转换不符合预期,还会使系统在评估测试数据时获得不公平优势,高估准确性。
下面详细看看信息泄露在交叉验证中的影响及解决办法:
- 交叉验证基本流程 :在交叉验证中,我们会预留起始训练集的一个子集作为临时验证集,用剩余数据训练新的学习器,训练完成后用预留子集评估学习器。每次循环都会产生新的训练集和验证集,因此每次都需构建新的转换规则。
- 错误做法示例 :若在分析输入数据构建转换规则时,将所有子集的数据都纳入分析,就会出现问题。例如,我们要将训练集的所有特征缩放到 [0, 1] 范围,第一个子集中特征的最小值和最大值为 0.01 和 0.99,其他子集的值都在这个范围内。当我们将所有子集数据一起分析构建转换规则时,第一个子集的范围会占主导
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



