Maison  >  Article  >  développement back-end  >  Extrayez de grandes quantités de fonctionnalités de séries chronologiques avec une petite quantité de code

Extrayez de grandes quantités de fonctionnalités de séries chronologiques avec une petite quantité de code

王林
王林avant
2023-04-25 14:40:081201parcourir

Les algorithmes d'apprentissage automatique traditionnels ne peuvent pas capturer l'ordre temporel des données de séries chronologiques. Les data scientists doivent effectuer une ingénierie des fonctionnalités pertinente pour capturer les caractéristiques importantes des données dans plusieurs métriques. Générer un grand nombre de fonctionnalités de séries chronologiques et en extraire les fonctionnalités pertinentes est une tâche longue et fastidieuse.

几行 Python 代码就可以提取数百个时间序列特征

Le package tsfresh de Python peut générer des centaines de fonctionnalités communes standard pour les données de séries chronologiques. Dans cet article, nous discuterons en profondeur de l’utilisation du package tsfresh.

tsfresh est un package open source qui peut générer des centaines de fonctionnalités de séries chronologiques pertinentes. Les fonctionnalités générées à partir de tsfresh peuvent être utilisées pour résoudre des cas d'utilisation de classification, de prédiction et de détection de valeurs aberrantes.

Le package tsfresh fournit diverses fonctions pour effectuer l'ingénierie de fonctionnalités sur les données de séries chronologiques, notamment :

  • Génération de fonctionnalités
  • Sélection de fonctionnalités #🎜 🎜#
  • Compatibilité avec le big data
L'installation de tsfresh est également très simple La méthode d'installation officielle de pip et conda est fournie :

pip install -U tsfresh# orconda install -c conda-forge tsfresh
#🎜 🎜#1. . Le package Génération de fonctionnalités

tsfresh fournit une API de génération automatique de fonctionnalités qui peut générer plus de 750 fonctionnalités pertinentes à partir d'une variable de série chronologique. Un large éventail de fonctionnalités sont générées, notamment :

Statistiques descriptives (moyenne, maximum, corrélation, etc.)
  • Mesures de non-linéarité et de complexité basées sur la physique # 🎜🎜#
  • Fonctions liées au traitement du signal numérique
  • Fonctionnalités de compression historiques
  • L'utilisation de la fonction tsfresh.extract_features() peut être utilisée pour 1 série temporelle La variable 789 fonctionnalités a été générée à partir de plusieurs domaines.
  • import pandas as pdfrom tsfresh import select_features# Read the time-series datadf = pd.read_excel("train.xlsx", parse_dates=['date']).set_index('date')# automated feature generationfeatures = tsfresh.extract_features(df, column_, column_sort="date")
Parce qu'il y a trop de fonctionnalités, veuillez consulter la documentation officielle pour une introduction détaillée de toutes les fonctionnalités.

2. Sélection de fonctionnalités

tsfresh Le package fournit également une implémentation de sélection de fonctionnalités basée sur des tests d'hypothèse, qui peut être utilisée pour identifier les fonctionnalités pertinentes de la variable cible. Pour limiter le nombre de fonctionnalités non pertinentes, tsfresh inclut l'algorithme Fresh (fresh signifie extraction de fonctionnalités basée sur des tests d'hypothèses évolutifs). Les utilisateurs de la fonction

tsfresh.select_features() peuvent implémenter la sélection de fonctionnalités.

3. Compatible avec le big data

Quand on a une grande quantité de données de séries chronologiques. tsfresh fournit également des API pour étendre la génération/extraction de fonctionnalités, ainsi que l'implémentation de la sélection de fonctionnalités pour de grandes quantités de données : exécution parallèle sur plusieurs cœurs.

Framework distribué : tsfresh implémente également son propre framework distribué pour distribuer les calculs de fonctionnalités sur plusieurs machines afin d'accélérer les calculs.

Compatible Spark : tsfresh peut également utiliser spark ou Dask pour traiter des données très volumineuses.
  • Enfin, tsfresh peut générer et sélectionner des fonctionnalités pertinentes pour les fonctionnalités de séries chronologiques en quelques lignes de code Python. Il extrait et sélectionne automatiquement plus de 750 fonctionnalités testées dans le monde réel à partir de plusieurs domaines d'échantillons de données temporelles. Cela réduit beaucoup de temps de travail perdu par les data scientists sur l'ingénierie des fonctionnalités.
  • Et les données de séries chronologiques sont assez volumineuses. tsfresh utilise également le multithreading et prend en charge dask et spark pour traiter de gros échantillons de données qui ne peuvent pas être traités par une seule machine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer