我正在尝试使用特征工具来生成特征矩阵来训练过去的数据并预测一些未来的数据。所以这是我的设置:
import featuretools as ft
import pandas as pd
df_hotel = pd.DataFrame({
'hotel_id': [1, 2],
})
df_bookings = pd.DataFrame({
'bookings_id': [1, 2, 3, 4, 5, 6, 7, 8],
'time': [1, 2, 3, 4, 1, 2, 3, 4],
'hotel_id': [1, 1, 1, 1, 2, 2, 2, 2],
'bookings': [1, 2, 3, 4, 5, 6, 7, 8]
})
es = ft.EntitySet()
es = es.entity_from_dataframe(
entity_id='c',
dataframe = df_bookings,
index='bookings_id',
time_index='time'
)
es = es.entity_from_dataframe(
entity_id='hotels',
dataframe=df_hotel,
index='hotel_id'
)
es = es.add_relationship(
ft.Relationship(
es['hotels']['hotel_id'],
es['bookings']['hotel_id'],
)
)
我生成一个特征矩阵如下:
feature_matrix, feature_defs = ft.dfs(
entityset=es,
target_entity='bookings',
cutoff_time=3,
agg_primitives=["mean"]
)
feature_matrix
然而,这给了我两行(时间是 4,在 curoff 之后),其中所有值都是 NAN。期望的行为也是填充这些行的值(但仅基于过去的数据计算聚合)。使用功能工具可以做到这一点吗?