表示 (Representation)

机器学习模型不能直接看到、听到或感知输入样本。您必须创建数据表示,为模型提供有用的信号来了解数据的关键特性。也就是说,为了训练模型,您必须选择最能代表数据的特征集。

表示

具体原理是将左侧矢量的每个部分映射到右侧特征矢量的一个或多个字段。

原始数据通过名为特征工程的程序映射到特征矢量。
将原始整数 (6) 映射到浮点特征 (6.0)。
通过独热编码映射字符串值。
  • 按照字典的形式将每个街道名称映射到 {0, ...,V-1} 内的某个整数
  • 现在将上述独热矢量表示为 <i>

特征值应以非零值的形式在数据集中多次出现。

my_device_id:8SK982ZZ1242Z

device_model:galaxy_s6

特征应该具有清晰明确的含义。

user_age:23

user_age:123456789

特征不应使用“神奇”的值

(使用额外的布尔值特征,例如 is_watch_time_defined!)

watch_time: -1.0

watch_time: 1.023

watch_time_is_defined: 1.0

特征的定义不应随时间发生变化。

(注意对其他机器学习系统的依赖性!)

city_id:"br/sao_paulo"

inferred_city_cluster_id:219

分布不应包含离谱的离群值

理想情况下,所有特征都要转换为相似范围,例如 (-1, 1) 或 (0, 5)。

包含离群值的分布和包含上限的分布
图表显示包含基于位置的拟合曲线的分布
图表显示包含基于位置的拟合曲线的分布
  • 创建若干个布尔值箱,每个箱映射到新的唯一特征
  • 允许模型为每个箱拟合不同的值

了解数据

  • 可视化:绘制直方图,从最普遍到最不普遍排列。
  • 调试:重复样本?缺少值?离群值?数据与信息中心一致?训练数据与验证数据相似?
  • 监控:特征分位数、样本数量随着时间推移有无变化?