Sobre el proyecto

PySR es una herramienta de código abierto para la regresión simbólica, una tarea de aprendizaje automático que encuentra expresiones simbólicas interpretables que optimizan un objetivo dado. Desarrollada junto con la biblioteca de Julia SymbolicRegression.jl, sirve como el motor de búsqueda que impulsa las capacidades de PySR. La instalación es sencilla mediante pip o conda-forge. Las dependencias de Julia se instalan automáticamente en la primera importación. PySR también admite despliegue en contenedores a través de Docker y Apptainer para entornos de clúster sin acceso root. La interfaz principal sigue las convenciones de scikit-learn mediante `PySRRegressor`. Los usuarios especifican parámetros de búsqueda, incluidos el tamaño máximo de expresión, el número de iteraciones, operadores binarios y unarios, funciones de pérdida personalizadas (escritas en sintaxis de Julia) y estrategias de selección de modelos. El motor de búsqueda realiza cientos de miles de mutaciones y evaluaciones de ecuaciones a lo largo de las iteraciones configuradas. Las características clave incluyen: - Operadores personalizados definidos en sintaxis de Julia (p. ej., `inv(x) = 1/x`) - Funciones de pérdida elementales personalizadas - Modo de eliminación de ruido (`denoise=True`) - Selección de características (`select_k_features=N`) - Soporte de inicio en caliente para reanudar búsquedas interrumpidas - Exportación de ecuaciones en múltiples formatos: lambda invocable, SymPy, JAX (diferenciable) y PyTorch (diferenciable) - Restricciones de operadores anidados para controlar la complejidad de las expresiones - Soporte de clúster multinodo mediante el gestor de clúster Slurm - Serialización CSV y PKL del salón de la fama para estados de modelo guardados PySR también admite la destilación simbólica de redes neuronales: convertir redes neuronales entrenadas en ecuaciones analíticas, lo que proporciona una forma interpretable de entender los modelos de aprendizaje profundo. Este enfoque se describe en los artículos de investigación asociados disponibles en arXiv.