数值数据:良好数值特征的特性

本单元探讨了将原始数据映射到合适特征向量的方法。优质的数值特征具有本部分中所述的特性。

名称明确

每个功能都应对项目中的任何人都有清晰、合理且明显的含义。例如,以下地图项值的含义令人困惑:

不建议

house_age: 851472000

相比之下,以下地图项名称和值要清晰得多:

建议

house_age_years: 27

在训练前已检查或测试

虽然本单元花了大量时间来介绍离群值,但这个主题非常重要,因此我们还要再提及一次。在某些情况下,不良数据(而非不良的工程设计选择)会导致值不明确。例如,以下 user_age_in_years 来自未检查是否有适当值的来源:

不建议

user_age_in_years: 224

可以是 24 周岁的人:

建议

user_age_in_years: 24

查看您的数据!

明智

“魔法值”是指在原本连续的特征中刻意设置的断点。例如,假设名为 watch_time_in_seconds 的连续特征可以存储介于 0 到 30 之间的任何浮点值,但使用魔法值 -1 表示测量值的缺失

不建议

watch_time_in_seconds: -1

如果 watch_time_in_seconds 为 -1,则会迫使模型尝试弄清楚“向后观看电影”的含义。生成的模型可能无法做出准确的预测。

更好的方法是创建一个单独的布尔地图项,用于指示是否提供了 watch_time_in_seconds 值。例如:

建议

watch_time_in_seconds: 4.82
is_watch_time_in_seconds_defined=True

watch_time_in_seconds: 0
is_watch_time_in_seconds_defined=False

这是处理包含缺失值的连续数据集的方法。现在,我们来考虑一个离散数字特征(例如 product_category),其值必须属于一组有限的值。在这种情况下,如果缺少某个值,请使用有限集合中的新值来表示该缺失值。对于离散特征,模型会为每个值学习不同的权重,包括缺失特征的原始权重。

例如,我们可以想象符合该集合的可能值:

{0: 'electronics', 1: 'books', 2: 'clothing', 3: 'missing_category'}。