在单个表上使用特征工具来显示滞后特征

时间:2018-06-06 01:28:48

标签: featuretools

我经常看到使用featuretools创建聚合的建议范例是通过关系链接单独的实体。

现在,我的情况有点不同,我有一个看起来像这样的表

user_id | time_id | feature1_lag1 | feature1_lag2 | ... | feature1_lagn | feature2_lag1| ... | featurem_lagn

基本上我有相同功能的滞后版本作为同一个表的不同列。

在这种情况下我可以使用featuretools吗?

1 个答案:

答案 0 :(得分:1)

可以在具有变换原语的单个表上直接使用Featuretools。假设您将time_id设置为time_index,则每列仅对该时间索引有效。可能感到奇怪的原因是您在 m 次发生 n 列。

通过重构数据集,您也可以输入延迟时间信息,甚至可以在此过程中进行一些聚合。要获得该功能,您需要像这样取消数据:

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)允许您设置时间索引,以便每个延迟都有自己的时间。这使您可以在代表现实的时间使用该行中的数据。

此外,您可以使用measurements上的normalize_entityuser_id创建新的父实体。如果您想要由用户进行预测,那么新实体users将成为深度特征综合的目标实体。