Функции не генерируются, как я ожидал бы в featuretools - PullRequest
0 голосов
/ 22 января 2019

Я новичок в featuretools и пытаюсь создать набор функций на основе цели с тем же индексом / time_index. Я хотел бы, чтобы сгенерированные функции использовали все данные до индекса времени_ target ниже.

Таким образом, в приведенном ниже примере значения данных 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()
...