导致机器学习项目失败的 5 个关键特征工程错误

查看这份关于构建实际可用的生产就绪功能的综合指南。

来源:KDnuggets
图片由编辑提供

# 简介

#

特征工程是机器学习的无名英雄,也是最常见的恶棍。当团队纠结于是否使用 XGBoost 还是神经网络时,为这些模型提供支持的功能悄悄地决定了项目的生死存亡。令人不安的事实?大多数机器学习项目失败不是因为算法不好,而是因为功能不好。

本文中涉及的五个错误导致了无数次失败的部署、浪费了数月的开发时间以及可怕的“它在笔记本中有效”综合症。每一种都是可以预防的。每一个都是可以修复的。了解它们可以将特征工程从猜谜游戏转变为生成值得部署的模型的系统学科。

# 1. 数据泄漏和时间完整性:无声模型杀手

// 问题

//

数据泄露是特征工程中最具破坏性的错误。它创造了一种成功的错觉,显示出卓越的验证准确性,同时保证了生产中的完全失败,其中性能经常下降到随机机会。当来自训练期之外的信息或在预测时不可用的信息影响特征时,就会发生泄漏。

// 如何显示

→ 未来信息泄露

    在预测客户流失时使用完整的交易历史记录(包括未来)。包括诊断后医学测试来预测诊断本身。根据历史数据进行训练,但使用未来的统计数据进行标准化。
  • 在预测客户流失时使用完整的交易历史记录(包括未来)。
  • 包括诊断后医学测试以预测诊断本身。
  • 对历史数据进行训练,但使用未来的统计数据进行标准化。
  • → 预分割污染

      在训练-测试分割之前在整个数据集上拟合缩放器、编码器或输入器。计算训练集和测试集的聚合。允许测试集统计数据影响训练。

    → 目标泄漏

    // 解决方案