AutoML 系统通过自动执行用于填充或删除不完整值的常用策略来处理缺失数据,使开发人员能够专注于更高级别的任务,而无需手动干预。 这些系统通常根据预定义的规则或数据驱动的决策,应用插补(填充缺失值)和删除(删除有问题的行或列)的组合。 例如,数字列可能使用均值或中值插补,而类别列可以使用最常见的类别或像“未知”这样的占位符来填充空白。 一些 AutoML 工具还利用机器学习模型来预测基于其他特征的缺失值,尽管这在基本实现中不太常见。
方法的选择通常取决于数据集的特征和 AutoML 工具的配置。 例如,如果某个列缺少超过 60% 的值,则系统可能会自动删除该列以避免噪声。 如果只有少数行有空白,则更可能使用简单的插补。 像 Google 的 AutoML Tables 或 H2O 的 Driverless AI 这样的工具会在预处理和模型训练阶段评估多种策略,选择使验证性能最大化的方法。 例如,AutoML 框架可能会在数据样本上测试均值插补与 k 最近邻 (KNN) 插补,然后将性能更好的方法应用于完整数据集。 此外,像 XGBoost 这样的基于树的模型通常在 AutoML 管道中使用,可以通过学习训练期间拆分的默认方向来原生处理缺失值,从而减少对显式插补的依赖。
开发人员应该意识到,虽然 AutoML 简化了缺失数据的处理,但它可能并不总是考虑到特定领域的细微差别。 例如,如果医学数据集中的缺失值表明未执行关键测试,则用平均值替换它们可能会引入偏差。 大多数 AutoML 平台允许通过超参数(例如,设置插补阈值)或预处理钩子来覆盖默认值进行自定义。 但是,有效性最终取决于工具的设计:像 Auto-Sklearn 这样的开源库提供了逻辑的透明度,而基于云的解决方案可能会抽象这些细节。 至关重要的是,通过查看 AutoML 系统的预处理步骤并确保缺失数据不会扭曲最终模型中的模式来验证所选策略。