例如,我的一个实体有两组ID。 一个是连续的(显然是创建EntitySet所必需的),一个是与其他表合并时用作外键的。
这将导致Featuretools包含要集合的要素集中的ID。 SUM(ID)并不是我感兴趣的功能。
运行深度特征合成时是否可以包含某些特征?
答案 0 :(得分:1)
在调用ft.dfs
时有三种排除功能的方法。
使用ignore_variables
在实体中指定不应用于创建特征的变量。这是一个字典,将实体ID映射到要忽略的变量名称列表。
使用drop_contains
删除包含任何字符串的特征
在此参数中列出。
使用drop_exact
删除与该参数中列出的任何字符串完全匹配的功能。
以下是ft.dfs
通话中所有三个示例的用法
ft.dfs(target_entity="customers"],
ignore_variables={
"transactions": ["amount"],
"customers": ["age", "gender", "date_of_birth"]
}, # ignore these variables
drop_contains=["customers.SUM("], # drop features that contain these strings
drop_exact=["STD(transactions.quanity)"], # drop features named exactly this
...
)
这三个参数都记录在here中。
如果要获取不需要的功能,最后要考虑的是实体集中变量的变量类型。如果看到ID变量的总和,则必须表示Featuretools认为ID变量是数字值。如果您告诉featuretools它是一个ID,它将不会对其应用数字聚合。