tsfresh: extraire des features séries temporelles
objectif
Expliquer et montrer comment calculer automatiquement des features sur séries temporelles.
code minimal
import pandas as pd
import numpy as np
from tsfresh import extract_features
# format long: id, time, value
N = 200
df = pd.DataFrame({
"id": np.repeat(np.arange(5), N),
"time": np.tile(np.arange(N), 5),
"value": np.random.randn(5*N).cumsum()
})
X = extract_features(df, column_id="id", column_sort="time", default_fc_parameters={"mean":None, "standard_deviation":None})
X.head()
utilisation
# filtrer les features pertinentes nécessite y pour la cible (see select_features)
variante(s) utile(s)
# réduire le nombre de features via EfficientFCParameters
# from tsfresh.feature_extraction import EfficientFCParameters
# extract_features(..., default_fc_parameters=EfficientFCParameters())
notes
- tsfresh peut générer des milliers de features; configurez fc_parameters.
- Attention au temps de calcul; utilisez un échantillon d’abord.