Я пытаюсь воспроизвести учебник FeatureTools (см. Ссылку ниже). Я использую данные издевательства, представленные в пакете. Они включают в себя таблицу клиентов и сессионный стол. У каждого клиента много сессий. Каждый сеанс имеет отметку времени session_start . Я вычисляю среднее значение примитива time_since_previous функции session_start a), используя featuretools и b) вручную. Но я получаю разные результаты, где я ошибаюсь?
a) Расчет с использованием featuretools:
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'])
MEAN (sessions.TIME_SINCE_PREVIOUS (session_start)) для клиента 3 - 888.333333
б) Ручной расчет:
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
Снимок1 Снимок2
https://docs.featuretools.com/en/stable/automated_feature_engineering/primitives.html