Featuretools: использование функций, рассчитанных в данных поезда, для новых данных.

Мне было интересно, как использовать функции, разработанные во время обучения, для прогнозирования новых данных. Рассматриваемый набор данных — это набор данных об отмене встречи из Прогнозировать встречу без явки , Гитхаб

Рассмотрим функцию locations.PERCENT_TRUE(no_show): процент прошлых отмен встреч в данном месте. Допустим, у меня есть новые входящие тестовые данные с теми же местоположениями, что и в данных поезда, для которых я уже знаю эти значения. Как я могу использовать эту функцию в тестовых данных? Конечно, я могу объединить тестовые данные с данными поезда и пересчитать все функции, используя featuretools.dfs(), но это занимает много времени.

Есть ли более простой способ?


person Arun    schedule 17.03.2020    source источник


Ответы (1)


Да, объединение тестовых данных с данными поезда не требуется. Вы можете повторно использовать определения функций для входящих тестовых данных. Например, когда вы используете DFS для данных поезда, определения объектов, включающие locations.PERCENT_TRUE(no_show), возвращаются вместе с матрицей объектов.

fm, features = ft.dfs(
    entityset=es_train,
    target_entity='appointments',
    ...
)

На тестовых данных вы можете создать набор сущностей и повторно использовать определения для расчета функций.

fm = ft.calculate_feature_matrix(
    features=features,
    entityset=es_test,
    ...
)

Позвольте мне знать, если это помогает.

person Jeff Hernandez    schedule 18.03.2020
comment
Можете ли вы объяснить, как это работает? Если я прав, переменная features представляет собой список строк определений функций. Как вторая функция узнает значения признаков, вычисленных во время обучения? - person Arun; 18.03.2020
comment
Определения функций получены из объекта FeatureBase, который можно сериализовать/десериализовать с необходимыми метаданными для реконструкции функции. Используя объекты определения признаков, вторая функция может реконструировать признаки и применить их к новому набору сущностей. На этой странице документации содержится дополнительная информация об использовании определений функций. . - person Jeff Hernandez; 19.03.2020