我想知道如何使用训练时开发的功能对新数据进行预测。有问题的数据集是来自Predict appointment no show, Github
的约会取消数据集考虑特征locations.PERCENT_TRUE(no_show)
:给定位置过去取消约会的百分比。假设我有新的传入测试数据,其位置与我已经知道这些值的火车数据中的位置相同。如何在测试数据中使用此功能?当然,我可以将测试数据合并到火车数据中,并使用featuretools.dfs()
重新计算所有特征,但这很耗时。
有更简单的方法吗?
是,不需要将测试数据合并到火车数据中。您可以在传入的测试数据上重用功能部件定义。例如,当您在火车数据上使用DFS时,将返回包含locations.PERCENT_TRUE(no_show)
的特征定义以及特征矩阵。
fm, features = ft.dfs(
entityset=es_train,
target_entity='appointments',
...
)
在测试数据上,您可以创建实体集并重复使用定义以计算特征。
fm = ft.calculate_feature_matrix(
features=features,
entityset=es_test,
...
)
让我知道是否有帮助。