如何在更特定的功能工具中计算功能矩阵以避免长时间运行?

时间:2019-07-07 12:07:09

标签: featuretools

我想计算一个二阶特征(深度= 2)。由于实体结构的原因,特征矩阵计算需要计算太多的组合,因此计算需要“年”。<​​/ p>

可以再通过规则设置指定要计算的功能列表吗?

我有一个客户表(cid,...),其中包含与每个客户相关的固定数据(即出生日期)。 另外,我有两个(A和B)不同的表(cid,monthlyReportPeriod等),是根据不同产品的客户每月行为(即#orders)得出的。 二阶通缉的特征是,例如,每个行为表的阶次的加权总和。

当我仅使用一个行为表(A)计算特征时,就会计算出1000个特征。我认为当我将两者合二为一时,我会有两个很多的组合。

es = ft.EntitySet(id = 'ES_PRA')
es = es.entity_from_dataframe(entity_id = 'Customer', dataframe = Customer, 
                              index = 'cid')
es = es.entity_from_dataframe(entity_id = 'A', 
                              dataframe = A,
                              make_index = True,
                              index = 'AID',
                              time_index = 'MonthlyReportPeriod')

es = es.entity_from_dataframe(entity_id = 'B', 
                              dataframe = B,
                              make_index = True,
                              index = 'BID',
                              time_index = 'MonthlyReportPeriod')
#
r_Customer_A = ft.Relationship(es['Customer']['cid'],
                                    es['A']['cid'])
es = es.add_relationship(r_Customer_A)
#
r_Customer_B = ft.Relationship(es['Customer']['cid'],
                                    es['A']['cid'])
es = es.add_relationship(r_Customer_B)
#
seed_features=[
  ft.Feature(es["A"]['MonthlyReportPeriod'], primitive=WeightTimeUntil),
  ft.Feature(es["B"]['MonthlyReportPeriod'], primitive=WeightTimeUntil)
]
features, feature_names = ft.dfs(entityset = es, target_entity = 'Customer', 
                                 agg_primitives = ['sum','last'],
                                 seed_features=seed_features,
                                 trans_primitives = [MultiplyNumeric],
                                max_depth=2) 

我想在表A和B中的每列中指定聚合原语:

cid:- MonthlyReportPeriod:-

(#order):总和,最后一笔,总和(WeightTimeUntil / MultiplyNumeric)

(#sales):总和,最后,均值...

1 个答案:

答案 0 :(得分:0)

featuretools的API不在列级别上提供此可选的基元设置。

我在github上发布了一个请求

https://github.com/Featuretools/featuretools/issues/655