Framework de machine learning em Python baseado em scikit-learn e pandas, com módulos para sistemas de trading e previsão de resultados esportivos.
nok/sklearn-porter
Ferramenta Python que transpila modelos e transformers treinados do scikit-learn para código em C, C#, Go, Java, JavaScript, PHP ou Ruby.
- Estrelas
- 1,304
- Forks
- 168
- Issues abertas
- 4
- Último commit
- anteontem
O que é?
sklearn-porter recebe um estimator, transformer ou pipeline treinado do scikit-learn e gera código-fonte em C, C#, Go, Java, JavaScript, PHP ou Ruby. O código gerado permite fazer previsões sem um runtime Python, o que é útil em dispositivos embarcados, no navegador ou em aplicações existentes escritas em outra linguagem.
O projeto oferece suporte a uma ampla variedade de classificadores, regressores, detectores de outliers e transformers de pré-processamento ou seleção de features, incluindo ensembles de árvores, modelos lineares, SVMs e redes neurais. A expectativa é que os estimators convertidos produzam as mesmas previsões que os originais, e que os transformers convertidos transformem as features da mesma maneira.
Os dados do modelo podem ser incluídos no código, exportados para um arquivo JSON separado ou incorporados à lógica como instruções if-else aninhadas. O pacote oferece uma API Python, uma ferramenta de linha de comando chamada `porter` e um helper `test` que compara a saída convertida com a do modelo original. A instalação requer Python 3.11+ e scikit-learn 1.8+.
Recursos principais
- 01Transpila classificadores, regressores e detectores de outliers para sete linguagens.
- 02Converte transformers e pipelines comuns de pré-processamento e seleção de features.
- 03Oferece templates com dados do modelo incluídos, exportados ou combinados.
- 04Disponibiliza uma API Python e uma interface de linha de comando `porter`.
- 05Inclui uma função `test` que compara as previsões convertidas com as do modelo original.
Casos de uso
- Executar um modelo treinado do scikit-learn em um dispositivo embarcado sem Python.
- Adicionar as previsões de um modelo a um backend Java, Go ou PHP sem um serviço Python.
- Executar um classificador no navegador com JavaScript.
Início rápido
- 1
Instale o pacote com uv
uv add sklearn-porter - 2
Ou instale-o com pip
pip install sklearn-porter - 3
Treine um modelo do scikit-learn em Python e porte-o com port(clf, language='js')
Antes de usar
- Requer Python 3.11 ou superior e scikit-learn 1.8 ou superior.
- Oferece suporte apenas a uma lista fixa de estimadores e transformadores do scikit-learn.
Em coleções
Tópicos
Perguntas frequentes
- O que é sklearn-porter?
- Ferramenta Python que transpila modelos e transformers treinados do scikit-learn para código em C, C#, Go, Java, JavaScript, PHP ou Ruby. sklearn-porter recebe um estimator, transformer ou pipeline treinado do scikit-learn e gera código-fonte em C, C#, Go, Java, JavaScript, PHP ou Ruby. O código gerado permite fazer previsões sem um runtime Python, o que é útil em dispositivos embarcados, no navegador ou em aplicações existentes escritas em outra linguagem.
- sklearn-porter é gratuito? Qual é a licença?
- sklearn-porter é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- sklearn-porter ainda é mantido?
- Manutenção ativa. O último commit de sklearn-porter foi em 5 de nov. de 2026.
- Para que posso usar sklearn-porter?
- Executar um modelo treinado do scikit-learn em um dispositivo embarcado sem Python. Adicionar as previsões de um modelo a um backend Java, Go ou PHP sem um serviço Python. Executar um classificador no navegador com JavaScript.
- Como instalar sklearn-porter?
- Instale o pacote com uv: uv add sklearn-porter Ou instale-o com pip: pip install sklearn-porter Treine um modelo do scikit-learn em Python e porte-o com port(clf, language='js')
- Onde consigo sklearn-porter?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nok/sklearn-porter
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Pacote Python para criar e compartilhar rapidamente demonstrações web e interfaces para modelos de machine learning, APIs ou qualquer função Python.
Currículo introdutório de 12 semanas e 26 aulas sobre machine learning clássico, com Scikit-learn, aulas e quizzes em Python e R.
Orange é uma ferramenta visual de código aberto para mineração, análise e visualização de dados, com fluxos de trabalho criados por arrastar e soltar.
Um agente LLM de código aberto que cria, executa, depura e aprimora código de machine learning por meio de busca em árvore até otimizar uma métrica definida pelo usuário.
Stack de inferência on-device do PyTorch para executar modelos exportados em celulares, laptops, navegadores e microcontroladores.