Featuretools新版本分组列被丢弃,如何强制保留该列?
解决Featuretools新版本保留分组列的问题
在Featuretools新版本中,默认不再保留分组计算使用的列,但有两种可靠方法可以强制将其保留在最终的feature_matrix中:
方法一:启用原始列保留参数
调用ft.dfs()时,设置include_original_columns=True参数,该参数会将所有原始实体中的基础列(包括分组用的列)直接包含到结果矩阵中。示例代码:import featuretools as ft # 假设已构建好EntitySet对象es,目标实体为"transactions" feature_matrix, feature_defs = ft.dfs( entityset=es, target_entity="transactions", agg_primitives=["sum", "mean"], groupby_trans_primitives=["cum_sum"], include_original_columns=True )方法二:手动合并分组列
如果只需要保留特定的分组列而非全部原始列,可以从对应的实体DataFrame中提取该列,再与生成的feature_matrix合并。示例代码:# 从实体中提取分组列"invoice" invoice_col = es["transactions"].df["invoice"] # 按索引合并到feature_matrix feature_matrix = feature_matrix.merge(invoice_col, left_index=True, right_index=True)
注:旧版本(如featuretools==1.5.0)默认保留分组列,新版本调整了默认行为,通过上述方式即可恢复类似旧版本的结果。
内容的提问来源于stack exchange,提问作者Sole Galli
相关产品推荐
相关产品推荐

