Une interface unifiée pour l'apprentissage automatique avec des séries chronologiques
Version 0.34.0 OUT MAINTENANT! Consultez les notes de publication ici.
Sktime est une bibliothèque pour l'analyse des séries chronologiques à Python. Il fournit une interface unifiée pour plusieurs tâches d'apprentissage des séries chronologiques. Actuellement, cela comprend la prévision, la classification des séries chronologiques, le clustering, la détection d'anomalie / point de changement et d'autres tâches. Il est livré avec des algorithmes de séries chronologiques et des outils compatibles Scikit-Learn pour construire, régler et valider les modèles de séries chronologiques.
| Documentation · Tutoriels · Notes de publication | |
|---|---|
| Open source | |
| Tutoriels | |
| Communauté | |
| CI / CD | |
| Code | |
| Téléchargements | |
| Citation |
| Documentation | |
|---|---|
| Tutoriels | Nouveau sur Sktime? Voici tout ce que vous devez savoir! |
| ? Cahiers de liant | Exemples de cahiers avec lesquels jouer dans votre navigateur. |
| ? Exemples | Comment utiliser Sktime et ses fonctionnalités. |
| ✂️ Modèles d'extension | Comment construire votre propre estimateur à l'aide de l'API de Sktime. |
| ? ️ RÉFÉRENCE DE L'API | La référence détaillée pour l'API de Sktime. |
| Tutoriel vidéo | Notre tutoriel vidéo de 2021 Pydata Global. |
| Changelog | Modifications et historique de la version. |
| ? Feuille de route | Plan de développement des logiciels et communautaires de SKTIME. |
| Logiciel connexe | Une liste de logiciels connexes. |
Les questions et les commentaires sont extrêmement les bienvenus! Nous croyons fermement à la valeur du partage de l'aide publiquement, car il permet à un public plus large de en bénéficier.
| Taper | Plates-formes |
|---|---|
| ? Rapports de bogues | GiTHub Issue Tracker |
| Demandes de fonctionnalités et idées | GiTHub Issue Tracker |
| ? Questions d'utilisation | Discussions GitHub · Déblocage de pile |
| Discussion générale | Discussions GitHub |
| ? Contribution et développement | Channel dev-chat · Discord |
| Rencontres et séances de collaboration | Discord - Fridays 13 UTC, Dev / Meets-ups Channel |
Notre objectif est d'améliorer l'interopérabilité et l'utilisabilité de l'écosystème d'analyse des séries chronologiques dans son intégralité. SKTime fournit une interface unifiée pour des tâches d'apprentissage des séries chronologiques distinctes mais connexes . Il propose des algorithmes de séries chronologiques dédiés et des outils pour la construction de modèles composites , tels que les pipeline, l'ensemble, le réglage et la réduction, permettant aux utilisateurs d'appliquer des algorithmes conçus pour une tâche à une autre.
SKTime fournit également des interfaces aux bibliothèques connexes , par exemple Scikit-Learn, StatSmodels, Tsfresh, Pyod et FBProphet, entre autres.
| Module | Statut | Links |
|---|---|---|
| Prévision | écurie | Tutoriel · Modèle de référence de l'API · Extension |
| Classification des séries chronologiques | écurie | Tutoriel · Modèle de référence de l'API · Extension |
| Régression des séries chronologiques | écurie | Référence de l'API |
| Transformations | écurie | Tutoriel · Modèle de référence de l'API · Extension |
| Ajustement des paramètres | mûr | Référence de l'API · Modèle d'extension |
| Clustering de séries chronologiques | mûr | Référence de l'API · Modèle d'extension |
| Distances de séries chronologiques / grains | mûr | Tutoriel · Modèle de référence de l'API · Extension |
| Alignement des séries chronologiques | expérimental | Référence de l'API · Modèle d'extension |
| Tâches de détection | expérimental | Modèle d'extension |
| Séparateurs de séries chronologiques | mûr | Modèle d'extension |
| Distributions et simulation | expérimental |
Pour le dépannage et les instructions d'installation détaillées, consultez la documentation.
conda-forge )En utilisant PIP, les versions SKTime sont disponibles en tant que packages source et roues binaires. Les roues disponibles sont répertoriées ici.
pip install sktimeou, avec des dépendances maximales,
pip install sktime[all_extras]Pour des ensembles organisés de dépendances douces pour des tâches d'apprentissage spécifiques:
pip install sktime[forecasting] # for selected forecasting dependencies
pip install sktime[forecasting,transformations] # forecasters and transformersou similaire. Les ensembles valides sont:
forecastingtransformationsclassificationregressionclusteringparam_estnetworksdetectionalignmentCave: En général, toutes les dépendances douces pour une tâche d'apprentissage ne sont pas installées, seule une sélection organisée.
Vous pouvez également installer Sktime à partir de conda via le canal conda-forge . La matière première comprenant la recette et la configuration de construction est maintenue dans ce référentiel conda-forge.
conda install -c conda-forge sktimeou, avec des dépendances maximales,
conda install -c conda-forge sktime-all-extras (Comme conda ne prend pas en charge les ensembles de dépendances, le choix flexible des dépendances souples n'est pas disponible via conda )
from sktime . datasets import load_airline
from sktime . forecasting . base import ForecastingHorizon
from sktime . forecasting . theta import ThetaForecaster
from sktime . split import temporal_train_test_split
from sktime . performance_metrics . forecasting import mean_absolute_percentage_error
y = load_airline ()
y_train , y_test = temporal_train_test_split ( y )
fh = ForecastingHorizon ( y_test . index , is_relative = False )
forecaster = ThetaForecaster ( sp = 12 ) # monthly seasonal periodicity
forecaster . fit ( y_train )
y_pred = forecaster . predict ( fh )
mean_absolute_percentage_error ( y_test , y_pred )
>> > 0.08661467738190656 from sktime . classification . interval_based import TimeSeriesForestClassifier
from sktime . datasets import load_arrow_head
from sklearn . model_selection import train_test_split
from sklearn . metrics import accuracy_score
X , y = load_arrow_head ()
X_train , X_test , y_train , y_test = train_test_split ( X , y )
classifier = TimeSeriesForestClassifier ()
classifier . fit ( X_train , y_train )
y_pred = classifier . predict ( X_test )
accuracy_score ( y_test , y_pred )
>> > 0.8679245283018868 Il existe de nombreuses façons de rejoindre la communauté Sktime. Nous suivons les spécifications de tous les contributeurs: toutes sortes de contributions sont les bienvenues - pas seulement le code.
| Documentation | |
|---|---|
| ? Contribuer | Comment contribuer à Sktime. |
| ? Mentorat | Nouveau à l'open source? Postulez à notre programme de mentorat! |
| ? Réunions | Rejoignez nos discussions, tutoriels, ateliers et sprints! |
| ? ? Guides du développeur | Comment développer davantage la base de code de Sktime. |
| ? Propositions d'amélioration | Concevez une nouvelle fonctionnalité pour Sktime. |
| ? Contributeurs | Une liste de tous les contributeurs. |
| ? Rôles | Un aperçu de nos rôles communautaires fondamentaux. |
| ? Faire un don | Fonds la maintenance et le développement de SKtime. |
| ? ️ gouvernance | Comment et par qui des décisions sont prises dans la communauté de Sktime. |
Merci à toute notre communauté pour toutes vos merveilleuses contributions, PRS, problèmes, idées.