Una interfaz unificada para el aprendizaje automático con series de tiempo
Versión 0.34.0 Out ahora! Mira las notas de la versión aquí.
Sktime es una biblioteca para el análisis de series de tiempo en Python. Proporciona una interfaz unificada para múltiples tareas de aprendizaje de series temporales. Actualmente, esto incluye pronósticos, clasificación de series de tiempo, clúster, anomalía/detección de puntos de cambio y otras tareas. Viene con algoritmos de series temporales y herramientas compatibles con Scikit-Learn para construir, ajustar y validar modelos de series de tiempo.
| Documentación · Tutoriales · Notas de lanzamiento | |
|---|---|
| Código abierto | |
| Tutoriales | |
| Comunidad | |
| CI/CD | |
| Código | |
| Descargas | |
| Citación |
| Documentación | |
|---|---|
| Tutoriales | Nuevo en Sktime? ¡Aquí está todo lo que necesitas saber! |
| ? Portátiles de carpeta | Ejemplo de cuadernos para jugar en su navegador. |
| ? Ejemplos | Cómo usar Sktime y sus características. |
| ✂️ Plantillas de extensión | Cómo construir su propio estimador usando la API de Sktime. |
| ? ️ Referencia de API | La referencia detallada para la API de Sktime. |
| Tutorial de video | Nuestro video tutorial de 2021 Pydata Global. |
| Colegio de cambios | Cambios e historial de versiones. |
| ? Hoja de ruta | El plan de software y desarrollo comunitario de Sktime. |
| Software relacionado | Una lista de software relacionado. |
¡Las preguntas y los comentarios son extremadamente bienvenidos! Creemos firmemente en el valor de compartir ayuda públicamente, ya que permite que un público más amplio se beneficie de él.
| Tipo | Plataformas |
|---|---|
| ? Informes de errores | Rastreador de problemas de Github |
| Solicitudes e ideas de funciones | Rastreador de problemas de Github |
| ? Preguntas de uso | Discusiones de Github · Overflow de pila |
| Discusión general | Discusiones de Github |
| ? Contribución y desarrollo | canal dev-chat · Discord |
| Reuniones y sesiones de colaboración | Discord - Viernes 13 UTC, CANAL DEV/MEJORES |
Nuestro objetivo es mejorar la interoperabilidad y usabilidad del ecosistema de análisis de series de tiempo en su totalidad. Sktime proporciona una interfaz unificada para tareas de aprendizaje de series de tiempo distintas pero relacionadas . Cuenta con algoritmos y herramientas de series de tiempo dedicadas para la construcción de modelos compuestos, como canalización, conjunto, ajuste y reducción, lo que permite a los usuarios aplicar algoritmos diseñados para una tarea a otra.
Sktime también proporciona interfaces a bibliotecas relacionadas , por ejemplo, Scikit-Learn, Statsmodels, Tsfresh, Pyod y FBProphet, entre otros.
| Módulo | Estado | Campo de golf |
|---|---|---|
| Pronóstico | estable | Tutorial · Referencia de API · Plantilla de extensión |
| Clasificación de series de tiempo | estable | Tutorial · Referencia de API · Plantilla de extensión |
| Regresión de series de tiempo | estable | Referencia de API |
| Transformaciones | estable | Tutorial · Referencia de API · Plantilla de extensión |
| Ajuste de parámetros | madurante | Referencia de API · Plantilla de extensión |
| Agrupación de series de tiempo | madurante | Referencia de API · Plantilla de extensión |
| Distancias/núcleos de series de tiempo | madurante | Tutorial · Referencia de API · Plantilla de extensión |
| Alineación de series de tiempo | experimental | Referencia de API · Plantilla de extensión |
| Tareas de detección | experimental | Plantilla de extensión |
| Splitters de series de tiempo | madurante | Plantilla de extensión |
| Distribuciones y simulación | experimental |
Para la resolución de problemas e instrucciones de instalación detalladas, consulte la documentación.
conda-forge )Usando PIP, las versiones de Sktime están disponibles como paquetes de origen y ruedas binarias. Las ruedas disponibles se enumeran aquí.
pip install sktimeo, con las máximas dependencias,
pip install sktime[all_extras]Para conjuntos curados de dependencias suaves para tareas de aprendizaje específicas:
pip install sktime[forecasting] # for selected forecasting dependencies
pip install sktime[forecasting,transformations] # forecasters and transformerso similar. Los conjuntos válidos son:
forecastingtransformationsclassificationregressionclusteringparam_estnetworksdetectionalignmentCave: En general, no todas las dependencias suaves para una tarea de aprendizaje se instalan, solo una selección curada.
También puede instalar Sktime desde conda a través del canal conda-forge . La materia prima, incluida la receta de compilación y la configuración, se mantiene en este repositorio de Conda-Forge.
conda install -c conda-forge sktimeo, con las máximas dependencias,
conda install -c conda-forge sktime-all-extras (Como conda no admite conjuntos de dependencia, la elección flexible de dependencias suaves no está disponible a través de 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 Hay muchas maneras de unirse a la comunidad Sktime. Seguimos la especificación de todos los contribuyentes: todo tipo de contribuciones son bienvenidas, no solo el código.
| Documentación | |
|---|---|
| ? Contribuir | Cómo contribuir a Sktime. |
| ? Tutoría | Nuevo en código abierto? ¡Solicite a nuestro programa de mentoría! |
| ? Reuniones | ¡Únase a nuestras discusiones, tutoriales, talleres y sprints! |
| ? ? Guías de desarrolladores | Cómo desarrollar aún más la base de código de Sktime. |
| ? Propuestas de mejora | Diseñe una nueva característica para Sktime. |
| ? Colaboradores | Una lista de todos los contribuyentes. |
| ? Roles | Una descripción general de nuestros roles comunitarios principales. |
| ? Donar | Fondo de mantenimiento y desarrollo de Sktime. |
| ? ️ Gobierno | Cómo y por quién se toman las decisiones en la comunidad de Sktime. |
Gracias a toda nuestra comunidad por todas sus maravillosas contribuciones, PRS, temas, ideas.