我正在尝试复制featuretools教程(请参见下面的链接)。我正在使用软件包中提供的模拟数据。它们包括客户表和会话表。每个客户都有许多会议。每个会话都有一个会话启动时间戳。我使用featuretools和b)手动计算功能会话启动的基本时间\u的平均值。但是我得到了不同的结果,我错在哪里
a)使用功能工具进行计算:
import featuretools as ft
es = ft.demo.load_mock_customer(return_entityset=True)
feature_matrix, features_defs = ft.dfs(
entityset=es,
target_entity='customers',
agg_primitives=['mean'],
trans_primitives=['time_since_previous'])
客户3的平均值(自上次(会话开始)以来的会话时间)为888.333333
b)人工计算:
time_since_previous(sessions[sessions.customer_id == 3].session_start).tolist()
[nan, 10075.0, 3900.0, 1625.0, 8710.0, 1170.0]
statistics.mean([ 10075.0, 3900.0, 1625.0, 8710.0, 1170.0])
5096.0
https://docs.featuretools.com/en/stable/automated_feature_engineering/primitives.html
要为每个客户应用
time_since_previous
,可以在DFS中使用groupby_trans_primitives
让我知道这是否有帮助
相关问题 更多 >
编程相关推荐