Sobre o projeto
PySR é uma ferramenta de código aberto para regressão simbólica — uma tarefa de aprendizado de máquina que encontra expressões simbólicas interpretáveis otimizando um objetivo dado. Construída junto com a biblioteca Julia SymbolicRegression.jl, ela serve como o motor de busca que impulsiona as capacidades do PySR.
A instalação é direta via pip ou conda-forge. As dependências Julia são instaladas automaticamente na primeira importação. O PySR também suporta implantação em contêineres via Docker e Apptainer para ambientes de cluster sem acesso root.
A interface principal segue as convenções do scikit-learn via `PySRRegressor`. Os usuários especificam parâmetros de busca, incluindo tamanho máximo da expressão, número de iterações, operadores binários e unários, funções de perda personalizadas (escritas em sintaxe Julia) e estratégias de seleção de modelo. O motor de busca realiza centenas de milhares de mutações e avaliações de equações ao longo das iterações configuradas.
Os principais recursos incluem:
- Operadores personalizados definidos em sintaxe Julia (ex.: `inv(x) = 1/x`)
- Funções de perda elementwise personalizadas
- Modo de remoção de ruído (`denoise=True`)
- Seleção de características (`select_k_features=N`)
- Suporte a warm start para retomar buscas interrompidas
- Exportação de equações em múltiplos formatos: lambda chamável, SymPy, JAX (diferenciável) e PyTorch (diferenciável)
- Restrições de operadores aninhados para controlar a complexidade da expressão
- Suporte a cluster multi-nó via gerenciador de cluster Slurm
- Serialização em CSV e PKL do hall da fama para estados de modelo salvos
O PySR também suporta destilação simbólica de redes neurais — convertendo redes neurais treinadas em equações analíticas, fornecendo uma maneira interpretável de entender modelos de aprendizado profundo. Essa abordagem é descrita nos artigos de pesquisa associados disponíveis no arXiv.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.