例如,我的一个实体有两组ID。一个是连续的(显然是创建EntitySet所必需的),另一个是在与其他表合并时用作外键的。
这会导致featuretools将ID包含在要聚合的特征集中。SUM(ID)不是我感兴趣的特性。
在运行深度特征合成时,有没有一种方法可以包含某些特征?
发布于 2019-03-25 22:02:23
在调用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
...
)这3个参数都是有文档记录的here。
如果你得到了你不想要的特性,最后要考虑的是你的实体集中变量的变量类型。如果您看到的是ID变量的和,这一定意味着featuretools认为ID变量是一个数字值。如果你告诉featuretools它是一个ID,它将不会对它应用一个数字聚合。
https://stackoverflow.com/questions/55300268
复制相似问题