在使用 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})# 创建实体集并添加实体es = ft.EntitySet(id='iris dataset')es.entity_from_dataframe(entity_id='data', dataframe=data, make_index=True, index='index')# 使用转换原语运行深度特征合成feature_matrix, feature_defs = ft.dfs(entityset=es, target_entity='data', trans_primitives=['add_numeric', 'multiply_numeric'])
生成的 feature_matrix
包含了无用的特征,如 sepal_width + species
。如何移除它们?
回答:
您可以使用 DFS 中的 ignore_variables
来忽略目标特征。
feature_matrix, feature_defs = ft.dfs( entityset=es, target_entity='data', trans_primitives=['add_numeric', 'multiply_numeric'], ignore_variables={'data': ['species']},)