Featuretools: пропустить целевой объект - PullRequest
0 голосов
/ 26 апреля 2020

При использовании Featuretools возможно ли пропустить целевую функцию? Например, рассмотрим набор данных iris

data = pd.read_csv('https://gist.githubusercontent.com/curran/a08a1080b88344b0c8a7/raw/639388c2cbc2120a14dcf466e85730eb8be498bb/iris.csv')
target = "species"
data[target] = data[target].map({'setosa':0, 'versicolor':1, 'virginica':2})
# Make an entityset and add the entity
es = ft.EntitySet(id='iris dataset')
es.entity_from_dataframe(entity_id='data', dataframe=data,
                         make_index=True, index='index')

# Run deep feature synthesis with transformation primitives
feature_matrix, feature_defs = ft.dfs(entityset=es, target_entity='data',
                                      trans_primitives=['add_numeric', 'multiply_numeric'])

Сгенерированный feature_matrix содержит бесполезные функции, такие как sepal_width + species. Как я могу их удалить?

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете использовать ignore_variables в DFS, чтобы игнорировать целевую функцию.

feature_matrix, feature_defs = ft.dfs(
    entityset=es,
    target_entity='data',
    trans_primitives=['add_numeric', 'multiply_numeric'],
    ignore_variables={'data': ['species']},
)
...