Каковы типы новых функций? - PullRequest
0 голосов
/ 26 июня 2018

Почему новые функции создаются с использованием преобразовательных примитивов, таких как объекты типа WEEKDAY, DayOfMonth, YEAR, MonthOfYear, которые создаются как целочисленные, то есть непрерывные объекты?Разве они не должны быть категориальными?я имею в виду, что при создании этих объектов dtype этих столбцов не должен быть «object», а не «int»?

1 Ответ

0 голосов
/ 27 июня 2018

Категориальные или порядковые признаки лучше всего хранить в виде целочисленных значений.Это потому, что более эффективно представлять данные как целое число, а не как строку.Например, [1, 4, 3, 1] требует намного меньше памяти, чем ["Январь", "Апрель", "Март", "Январь"].Вы можете определить тип данных функции, используя список определений функций, который возвращается ft.dfs

import featuretools as ft
es = ft.demo.load_mock_customer(return_entityset=True)
feature_matrix, feature_defs = ft.dfs(entityset=es,
                                      target_entity="customers",
                                      agg_primitives=[],
                                      trans_primitives=["month"])

feature_defs - это список определений функций

[<Feature: zip_code>, <Feature: MONTH(join_date)>]

мы можемполучить тип переменной, подобный этому

feature_defs[1].variable_type

, который возвращает

featuretools.variable_types.variable.Ordinal

Для кодирования дискретных функций в числовые функции для машинного обучения смотрите документацию для ft.encode_features.

...