在Featuretools中更改自上一个基本元素以来的时间单位

时间:2019-06-06 20:45:06

标签: featuretools

使用time_since_last原语时,如何将单位从秒(默认)更改为天?

我在文档中看到TimeSinceLast objec接受单位参数,但是在使用dfscalculate_feature_matrix时,我看不到一种简单的方法来传递它。

1 个答案:

答案 0 :(得分:1)

为此,您必须以略有不同的方式导入基本体。不必使用快捷方式来选择带有字符串列表的基元,而是必须导入基元对象并将其传递到dfscalculate_feature_matrix函数中:

#Shortcut method

feature_matrix, feature_defs = ft.dfs(
          entityset=es,
          target_entity="customers",
          agg_primitives=["time_since_last", "std", "skew"],
          trans_primitives=[]) 


#method that allows initialization of variables

from featuretools.primitives import TimeSinceLast
time_since_last = TimeSinceLast(unit = "hours")
feature_matrix, feature_defs = ft.dfs(
          entityset=es,
          target_entity="customers",
          agg_primitives=[time_since_last, "std", "skew"],
          trans_primitives=[])

关键点是:

  1. 导入您要自定义/更改其行为的特定功能
  2. 定义功能,并将该定义放入要包括的基元列表中(可以与其他字符串一起列出)。