数据和功能调试

低质量数据将严重影响模型的性能。在输入模型时,检测低质量数据比猜测其存在率要容易得多,而不是猜测是否存在。请按照本部分的建议监控您的数据。

使用数据架构验证输入数据

如需监控数据,您应通过写入数据必须满足的规则来根据预期统计值持续检查数据。这组规则称为“数据架构”。按照以下步骤定义数据架构:

  1. 对于特征数据,了解范围和分布。对于分类特征,请了解一组可能的值。
  2. 将您的理解编码为架构中定义的规则。规则示例如下:

    • 确保用户提交的评分始终介于 1 到 5 之间。
    • 确认“the”出现的频率最高(适用于英语文本功能)。
    • 检查分类特征的值是否来自固定集。
  3. 根据数据架构测试数据。您的架构应捕获数据错误,例如:

    • 异常
    • 分类变量的意外值
    • 意外数据分布

确保拆分图片的质量

测试和训练拆分必须具有相同的代表性输入数据。如果测试和训练拆分在统计上不同,则训练数据无助于预测测试数据。如需了解如何对数据进行采样和拆分,请参阅机器学习数据准备和特征工程课程中的采样和拆分数据部分。

监控分屏的统计属性。如果属性不同,请升起标记。此外,请测试每个拆分中的样本比例是否保持不变。例如,如果您的数据按 80:20 的比例拆分,则该比率不应发生变化。

测试工程数据

虽然您的原始数据可能有效,但模型只会看到工程化特征数据。由于工程数据看起来与原始输入数据有很大不同,因此您需要单独检查工程数据。根据您对工程数据的理解,编写单元测试。例如,您可以编写单元测试来检查是否满足以下条件:

  • 所有数字特征均缩放,例如,介于 0 和 1 之间。
  • 独热编码矢量仅包含一个 1 和 N-1 零。
  • 系统会将缺失的数据替换为平均值或默认值。
  • 转换后的数据分布符合预期。 例如,如果您已使用 z-scores 进行标准化,则 z-score 的平均值为 0。
  • 离群值通过缩放或裁剪等方式进行处理。