我经常看到使用特征工具创建聚合的建议范例是通过关系链接单独的实体。
现在,我的情况有点不同,我有一个看起来像这样的表
user_id | time_id | feature1_lag1 | feature1_lag2 | ... | feature1_lagn | feature2_lag1| ... | featurem_lagn
基本上,我将相同功能的滞后版本放在同一张表的不同列中。
在这种情况下我可以用什么方式使用功能工具?
我经常看到使用特征工具创建聚合的建议范例是通过关系链接单独的实体。
现在,我的情况有点不同,我有一个看起来像这样的表
user_id | time_id | feature1_lag1 | feature1_lag2 | ... | feature1_lagn | feature2_lag1| ... | featurem_lagn
基本上,我将相同功能的滞后版本放在同一张表的不同列中。
在这种情况下我可以用什么方式使用功能工具?
可以直接在带有转换原语的单个表上使用 Featuretools。假设您将 设置time_id
为time_index
,则每列将仅在该时间索引有效。可能会感到奇怪的原因是您有n列出现在m次。
通过重组数据集,您还可以输入滞后时间信息,甚至在此过程中进行一些聚合。要获得该功能,您需要像这样取消数据透视:
user_id time_id lag feature_1 ... feature_n
1 2017-01-05 1 2.7 9.8
1 2017-01-04 2 2.3 ... 9.1
1 2016-01-01 m 0.0 0.0
2 2017-01-05 1 18.1 ... 42.0
. . .
. . .
23 2016-01-01 m 0.0 ... 0.6
制作这样的实体(我们将measurements
在此处调用它)可以让您设置时间索引,以便每个滞后都有自己的时间。这使您可以在代表现实的时间使用该行中的数据。
此外,您还可以使用normalize_entity onmeasurements
从user_id
. users
如果您想按用户进行预测,那么该新实体将成为深度特征合成的目标实体。