Framework de machine learning en Python basado en scikit-learn y pandas, con módulos para sistemas de trading y predicción deportiva.
nok/sklearn-porter
Herramienta de Python que transpila modelos y transformadores entrenados de scikit-learn a código C, C#, Go, Java, JavaScript, PHP o Ruby.
- Estrellas
- 1,304
- Forks
- 168
- Issues abiertos
- 4
- Último commit
- hace 23 horas
¿Qué es?
sklearn-porter recibe un estimador, transformador o pipeline entrenado de scikit-learn y genera código fuente en C, C#, Go, Java, JavaScript, PHP o Ruby. El código generado puede hacer predicciones sin un entorno de ejecución de Python, lo que resulta útil en dispositivos integrados, navegadores o aplicaciones existentes escritas en otro lenguaje.
El proyecto admite una amplia variedad de clasificadores, regresores, detectores de valores atípicos y transformadores de preprocesamiento o selección de características, incluidos ensembles de árboles, modelos lineales, SVM y redes neuronales. Se espera que los estimadores adaptados produzcan las mismas predicciones que los originales, y que los transformadores adaptados transformen las características de la misma manera.
Los datos del modelo se pueden adjuntar al código, exportar a un archivo JSON independiente o compilar dentro de la lógica como sentencias `if-else` anidadas. El paquete ofrece una API de Python, una herramienta de línea de comandos `porter` y una función auxiliar `test` que compara la salida adaptada con la del modelo original. La instalación requiere Python 3.11 o posterior y scikit-learn 1.8 o posterior.
Funciones clave
- 01Transpila clasificadores, regresores y detectores de valores atípicos a siete lenguajes.
- 02Adapta transformadores y pipelines habituales de preprocesamiento y selección de características.
- 03Ofrece plantillas con los datos del modelo adjuntos, exportados o integrados.
- 04Proporciona tanto una API de Python como una interfaz de línea de comandos `porter`.
- 05Incluye una función de prueba que compara las predicciones adaptadas con las del modelo original.
Casos de uso
- Ejecutar un modelo entrenado de scikit-learn en un dispositivo integrado sin Python.
- Incorporar las predicciones de un modelo a un backend de Java, Go o PHP sin un servicio de Python.
- Ejecutar un clasificador en el navegador con JavaScript.
Inicio rápido
- 1
Instala el paquete con uv
uv add sklearn-porter - 2
O instálalo con pip
pip install sklearn-porter - 3
Entrena un modelo de scikit-learn en Python y transpórtalo con port(clf, language='js')
Antes de usarlo
- Requiere Python 3.11 o posterior y scikit-learn 1.8 o posterior.
- Solo admite una lista fija de estimadores y transformadores de scikit-learn.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es sklearn-porter?
- Herramienta de Python que transpila modelos y transformadores entrenados de scikit-learn a código C, C#, Go, Java, JavaScript, PHP o Ruby. sklearn-porter recibe un estimador, transformador o pipeline entrenado de scikit-learn y genera código fuente en C, C#, Go, Java, JavaScript, PHP o Ruby. El código generado puede hacer predicciones sin un entorno de ejecución de Python, lo que resulta útil en dispositivos integrados, navegadores o aplicaciones existentes escritas en otro lenguaje.
- ¿sklearn-porter es gratuito? ¿Qué licencia tiene?
- sklearn-porter es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿sklearn-porter sigue mantenido?
- Mantenimiento activo. El último commit de sklearn-porter fue el 5 nov 2026.
- ¿Para qué puedo usar sklearn-porter?
- Ejecutar un modelo entrenado de scikit-learn en un dispositivo integrado sin Python. Incorporar las predicciones de un modelo a un backend de Java, Go o PHP sin un servicio de Python. Ejecutar un clasificador en el navegador con JavaScript.
- ¿Cómo se instala sklearn-porter?
- Instala el paquete con uv: uv add sklearn-porter O instálalo con pip: pip install sklearn-porter Entrena un modelo de scikit-learn en Python y transpórtalo con port(clf, language='js')
- ¿Dónde consigo sklearn-porter?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/nok/sklearn-porter
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Paquete de Python para crear y compartir rápidamente demos web e interfaces de usuario para modelos de machine learning, APIs o cualquier función de Python.
Un plan de estudios de 12 semanas y 26 lecciones para principiantes sobre machine learning clásico, con lecciones y cuestionarios en Python y R.
Orange es una herramienta de programación visual de código abierto para minería, análisis y visualización de datos, basada en flujos de trabajo de arrastrar y soltar.
Un agente LLM de código abierto que crea, ejecuta, depura e itera sobre código de machine learning mediante búsqueda en árbol hasta optimizar una métrica definida por el usuario.
Stack de inferencia en el dispositivo de PyTorch para ejecutar modelos exportados en teléfonos, laptops, navegadores y microcontroladores.