Uma interface unificada para aprendizado de máquina com séries temporais
Versão 0.34.0 fora agora! Confira as notas de lançamento aqui.
Sktime é uma biblioteca para análise de séries temporais em Python. Ele fornece uma interface unificada para várias tarefas de aprendizado de séries temporais. Atualmente, isso inclui previsão, classificação de séries temporais, clustering, detecção de anomalia/mudança e outras tarefas. Ele vem com algoritmos de séries temporais e ferramentas compatíveis com Scikit-Learn para criar, ajustar e validar modelos de séries temporais.
| Documentação · Tutoriais · Notas de liberação | |
|---|---|
| Código aberto | |
| Tutoriais | |
| Comunidade | |
| CI/CD | |
| Código | |
| Downloads | |
| Citação |
| Documentação | |
|---|---|
| Tutoriais | Novo no sktime? Aqui está tudo o que você precisa saber! |
| ? Notebooks de fichário | Exemplo de cadernos para brincar no seu navegador. |
| ? Exemplos | Como usar o SKTime e seus recursos. |
| Modelos de extensão de extensão | Como construir seu próprio estimador usando a API do SKTIME. |
| ? Sustce referência da API | A referência detalhada da API do Sktime. |
| Tutorial em vídeo | Nosso tutorial em vídeo da 2021 Pydata Global. |
| Changelog | Mudanças e histórico de versão. |
| ? Roteiro | Plano de Desenvolvimento de Software e Comunidade da SKTime. |
| Software relacionado | Uma lista de software relacionado. |
Perguntas e feedback são extremamente bem -vindos! Acreditamos firmemente no valor do compartilhamento de ajuda publicamente, pois isso permite que um público mais amplo se beneficie dele.
| Tipo | Plataformas |
|---|---|
| ? Relatórios de bug | Rastreador de problemas do github |
| Solicitações e ideias de recursos | Rastreador de problemas do github |
| ? Perguntas de uso | Discussões do Github · Flack Overflow |
| Discussão geral | Discussões do Github |
| ? Contribuição e desenvolvimento | canal dev-chat · discórdia |
| Encontros e sessões de colaboração | Discord - Sextas -feiras 13 UTC, canal Dev/Meet -Ups |
Nosso objetivo é aumentar a interoperabilidade e a usabilidade do ecossistema de análise de séries temporais em sua totalidade. O SKTime fornece uma interface unificada para tarefas de aprendizado de séries temporais distintas, mas relacionadas . Possui algoritmos e ferramentas dedicados de séries temporais para construção de modelos compostos , como pipelining, conjunto, ajuste e redução, capacitando os usuários a aplicar algoritmos projetados para uma tarefa a outra.
O SKTime também fornece interfaces para bibliotecas relacionadas , por exemplo, Scikit-Learn, StatsModels, Tsfresh, Pyod e FBProphet, entre outros.
| Módulo | Status | Links |
|---|---|---|
| Previsão | estável | Tutorial · Referência da API · Modelo de Extensão |
| Classificação de séries temporais | estável | Tutorial · Referência da API · Modelo de Extensão |
| Regressão da série temporal | estável | Referência da API |
| Transformações | estável | Tutorial · Referência da API · Modelo de Extensão |
| Ajuste de parâmetros | amadurecido | API Reference · Modelo de extensão |
| Cluster de séries temporais | amadurecido | API Reference · Modelo de extensão |
| Distâncias da série temporal/kernels | amadurecido | Tutorial · Referência da API · Modelo de Extensão |
| Alinhamento da série temporal | experimental | API Reference · Modelo de extensão |
| Tarefas de detecção | experimental | Modelo de extensão |
| Splitters da série temporal | amadurecido | Modelo de extensão |
| Distribuições e simulação | experimental |
Para solução de problemas e instruções detalhadas de instalação, consulte a documentação.
conda-forge )Usando o PIP, os lançamentos do SKTime estão disponíveis como pacotes de origem e rodas binárias. As rodas disponíveis estão listadas aqui.
pip install sktimeou, com dependências máximas,
pip install sktime[all_extras]Para conjuntos de dependências suaves para tarefas específicas de aprendizado:
pip install sktime[forecasting] # for selected forecasting dependencies
pip install sktime[forecasting,transformations] # forecasters and transformersou similar. Conjuntos válidos são:
forecastingtransformationsclassificationregressionclusteringparam_estnetworksdetectionalignmentCaverna: Em geral, nem todas as dependências suaves para uma tarefa de aprendizado são instaladas, apenas uma seleção com curadoria.
Você também pode instalar o Sktime a partir conda através do canal conda-forge . A matéria-prima, incluindo a receita de construção e a configuração, é mantida neste repositório Conde-Forge.
conda install -c conda-forge sktimeou, com dependências máximas,
conda install -c conda-forge sktime-all-extras (Como conda não suporta conjuntos de dependência, a escolha flexível de dependências suaves está indisponível 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 Existem muitas maneiras de ingressar na comunidade SKTime. Seguimos a especificação de todos os contribuintes: todos os tipos de contribuições são bem -vindos - não apenas o código.
| Documentação | |
|---|---|
| ? Contribuir | Como contribuir para o sktime. |
| ? Orientação | Novo para o código aberto? Aplique ao nosso programa de mentoria! |
| ? Reuniões | Participe de nossas discussões, tutoriais, workshops e sprints! |
| ? ? Guias de desenvolvedor | Como desenvolver ainda mais a base de código do SKTime. |
| ? Propostas de aprimoramento | Projete um novo recurso para o sktime. |
| ? Colaboradores | Uma lista de todos os colaboradores. |
| ? Papéis | Uma visão geral de nossos papéis principais da comunidade. |
| ? Doar | Fund SKTime Manutenção e Desenvolvimento. |
| ? ️ Governança | Como e por quem as decisões são tomadas na comunidade de Sktime. |
Obrigado a toda a nossa comunidade por todas as suas maravilhosas contribuições, PRs, questões, idéias.