Невозможно развернуть featuretools, так как отсутствует метод EntitySet.read_pickle () - PullRequest
1 голос
/ 15 апреля 2019

Со ссылкой на методы развертывания для featuretools 'v0.7.0' , как указано на странице развертывания

У меня есть feature_defs сохраненоиспользуя метод ft.save_features, однако после успешной загрузки определений, используя ft.load_features, я обнаружил, что следующая зависимость для вычисления матрицы характеристик, а именно.ft.calculate_feature_matrix - это EntitySet!

Я не нашел способа сохранить EntitySet.Поскольку я мог найти только метод EntitySet.to_pickle(), но ничего не загружать из рассола!

У меня есть новый Dataframe, к которому я хотел бы добавить свои функции, но без родительских Dataframes или установки объекта, это невозможно.

Пожалуйста, сообщите, если я что-то пропустил.

Entityset: None
  Entities:
    branches [Rows: 82, Columns: 1]
    suppliers [Rows: 2953, Columns: 1]
    manufacturers [Rows: 11, Columns: 1]
    states [Rows: 22, Columns: 1]
    employees [Rows: 3270, Columns: 1]
    pincodes [Rows: 6698, Columns: 1]
    customers [Rows: 233154, Columns: 38]
  Relationships:
    customers.branch_id -> branches.branch_id
    customers.supplier_id -> suppliers.supplier_id
    customers.manufacturer_id -> manufacturers.manufacturer_id
    customers.state_id -> states.state_id
    customers.employee_code_id -> employees.employee_code_id
    customers.current_pincode_id -> pincodes.current_pincode_id

ft.save_features(features_defs_branches, 'branches.ft ')

У меня есть другой клиент, которому нужно подсчитать, Как мне это сделать?

, а именно

new_predictions.py

df_new_customers = pd.read_csv('customers.csv')

features_loaded = ft.load_features('branches.ft')
feature_matrix = ft.calculate_feature_matrix(features_loaded, ?)

1 Ответ

1 голос
/ 15 апреля 2019

В приведенном выше примере вам нужно создать ту же сущность, что и новые данные в df_new_customers. Получив набор сущностей для ваших новых данных, вы можете загрузить объекты и рассчитать их.

Если вы хотите прочитать ранее сохраненную сущность, вы можете использовать featuretools.read_entityset('path/to/entityset/'). Вы можете увидеть все методы сериализации здесь . При этом в этой ситуации я не думаю, что вам нужно сериализовать и десериализовать набор сущностей.

...