关于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。话虽如此,在这种情况下,我认为您不需要序列化和反序列化实体集。