1

当 FeatureTools 执行深度特征合成时,有没有办法记录它导出的常量值?

例如,我有很多这样的行: | loan_id | loan_term | |---------|:---------:| | a | 12 | | ... | ... | | z | 18 |

DeepFeatureSynthesis 工程师features包括<Feature: loan_term.COUNT(loan)> | loan | loan_term | loan_term.COUNT(loan) | |---------|:---------:|:---------------------:| | a | 12 | 2000 | | ... | ... | ... | | z | 18 | 800 |

我希望能够重新设计单个实体的功能,以便单个贷款期限12具有 a loan_term.COUNT(loan)of2000而无需重新计算所有loan_terms。*

我可以通过将实体与训练数据重新组合来做到这一点 ft.calculate_feature_matrix(features, my_entity_set_with_one_new_entity_added),但这效率低下且速度慢。

有没有办法指示 FeatureTools 记录在深度特征合成过程中发现的常量,并将它们用于未来的特征生成?


*现在将单个新贷款实体包括在计算中对我来说并不重要。所以12不必成为2001

4

1 回答 1

1

不幸的是,从 Featuretools 开始没有办法做到这一点v0.3.1。您可以通过执行以下操作手动完成此操作。

  1. 使用在训练数据上运行的输出特征矩阵,选择您不想重新计算的列,例如loan_term.COUNT(loan).
  2. 从特征列表中删除您在 1. 中选择的特征并在新数据集上运行
  3. 在适当的键上将步骤 1 中的数据框连接到步骤 2 中的数据框。在这种情况下loan_term

您可能需要根据数据集的具体情况进行一些调整。

于 2018-10-22T15:52:36.120 回答