Существует три способа исключения функций при вызове ft.dfs
.
Используйте ignore_variables
, чтобы указать переменные в объекте, которые не должны использоваться для создания объектов. Это словарь, отображающий идентификатор объекта в список имен переменных, которые следует игнорировать.
Используйте 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 параметра задокументированы здесь .
Последнее, что нужно учитывать, если вы получаете функции, которые вам не нужны, это переменные типы переменных в вашем наборе сущностей. Если вы видите сумму переменной ID, это должно означать, что featuretools думает, что переменная ID является числовым значением. Если вы скажете featuretools, что это идентификатор, он не будет применять к нему числовую агрегацию.