1

参考部署页面上提到的 featuretools 'v0.7.0'的部署方法

我使用方法保存了我的feature_defsft.save_features ,但是在使用成功加载 defs 后,ft.load_features我发现下一个依赖项来计算特征矩阵即。ft.calculate_feature_matrix是实体集!

我发现没有办法坚持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, ?)
4

1 回答 1

1

在上面的示例中,您需要在新数据中创建相同的实体集df_new_customers。一旦你有了新数据的实体集,你就可以加载特征并计算它们。

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

于 2019-04-15T15:49:22.157 回答