功能未如我在功能工具中所期望的那样生成

时间:2019-01-21 23:06:30

标签: python-3.x featuretools

我是Featuretools的新手,正在尝试基于具有相同index / time_index的目标创建一组功能。我想要的是生成的功能使用下面target的time_index之前的所有数据。

因此,在下面的示例中,expected数据帧值将是这些列在feat_data中的值的总和。相反,它与feat_data相同。

我想知道如何解决此问题以实现上述目的。我希望这是有道理的。

import pandas as pd
import numpy as np
import featuretools as ft

num_samples = 10
# create an index
idx = pd.date_range(pd.to_datetime('2016-01-01'),
                    periods=num_samples,
                    freq='D')

feat_data = pd.DataFrame(np.random.randn(num_samples, 3),
                         index=idx,
                         columns=["A", "B", "C"]).reset_index()

target_data = pd.DataFrame(np.random.binomial(1, 0.5, (num_samples, 1)),
                           index=idx,
                           columns=['target']).reset_index()

es = ft.EntitySet()
es = es.entity_from_dataframe("target", target_data, index="index", time_index="index")
es = es.entity_from_dataframe("feat_data", feat_data, index="index", time_index="index")

new_relationship = ft.Relationship(es["feat_data"]["index"], es["target"]["index"])
es = es.add_relationship(new_relationship)

feature_matrix , feature_defs = ft.dfs(entityset=es,
                                       target_entity="target",
                                       agg_primitives=['sum'],
                                       trans_primitives=[])

# what I would expect
expected = feat_data.set_index('index').expanding(min_periods=0).sum().reset_index()

0 个答案:

没有答案