首页 > 解决方案 > Featuretools:在新数据上使用在训练数据中计算的特征

问题描述

我想知道如何使用在训练时开发的功能来预测新数据。有问题的数据集是来自预测约会没有显示的约会取消数据集,Github

考虑以下特征locations.PERCENT_TRUE(no_show):在给定位置取消预约的百分比。假设我有新的传入测试数据,其位置与我已经知道这些值的火车数据中的位置相同。如何在测试数据中使用此功能?当然,我可以将测试数据合并到训练数据并重新计算所有使用的特征,featuretools.dfs()但这很耗时。

有没有更简单的方法?

标签: python-3.xfeature-extractionfeature-engineeringfeaturetools

解决方案


是的,不需要将测试数据合并到训练数据。您可以在传入的测试数据上重复使用特征定义。例如,当您对训练数据使用 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,
    ...
)

让我知道这是否有帮助。


推荐阅读