Как записать константы, полученные с помощью FeatureTools при использовании Deep Feature Synthesis - PullRequest
0 голосов
/ 22 октября 2018

Когда 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 имелloan_term.COUNT(loan) из 2000 без необходимости пересчитывать все loan_term s в кадре данных. *

Я мог бы сделать это, повторно объединив сущность с данными обучения ft.calculate_feature_matrix(features, my_entity_set_with_one_new_entity_added), ноэто неэффективно и медленно.

Есть ли способ направить FeatureTools для записи констант, найденных во время глубокого синтеза объектов, и использовать их для будущего создания объектов?


* Это не важномне прямо сейчас, чтобы включить единый новый кредитный объект в расчет.Так что 12 не должно становиться 2001.

1 Ответ

0 голосов
/ 22 октября 2018

К сожалению, нет способа сделать это в Featuretools v0.3.1.Вы можете сделать это вручную, выполнив следующие действия:

  1. Используя матрицу выходных объектов при работе с тренировочными данными, выберите столбцы, которые вы не хотите пересчитывать, например loan_term.COUNT(loan).
  2. Удалите функции, выбранные в 1. из вашего списка функций и работающие в новом наборе данных
  3. Объедините кадр данных с шага 1 в кадр данных с шага 2 на соответствующем ключе.В этом случае loan_term.

Возможно, вам придется внести некоторые изменения в зависимости от особенностей вашего набора данных.

...