关于deployment page上提到的Featuretools'v0.7.0'的部署方法

我使用ft.save_features方法保存了feature_defs,但是使用ft.load_features成功加载defs后,我发现下一个要计算特征矩阵的依赖项。 ft.calculate_feature_matrix是EntitySet!

我发现没有办法保留EntitySet。因为我只能找到EntitySet.to_pickle()方法,但没有从泡菜中加载任何东西!

我有一个新的数据框,我想在上面附加我的功能,但是没有父数据框或无法设置其实体。

请告知我是否有任何遗漏。

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, ?)

最佳答案

在上面的示例中,您需要在df_new_customers中的新数据上创建相同的实体集。拥有新数据的实体集后,就可以加载要素并进行计算。

如果要读取以前保存的实体,可以使用featuretools.read_entityset('path/to/entityset/')。您可以看到所有序列化方法here。话虽如此,在这种情况下,我认为您不需要序列化和反序列化实体集。

08-24 13:45