astroautomata/PySR

High-Performance Symbolic Regression in Python and Julia

解决的问题

PySR 解决了寻找能够拟合数据集的可解释、解析式的问题。与作为“黑箱”的标准机器学习模型不同,PySR 通过符号回归来发现实际的数学表达式,这些表达式能优化特定目标。

工作原理

PySR 使用用 Julia 编写的高性能搜索引擎(SymbolicRegression.jl),并通过 Python 接口访问。它通过执行数十万次的变异和评估来搜索符号表达式。它还可用于“符号蒸馏”(Symbolic Distillation),将复杂的神经网络转换为更简单的解析式,使网络的行为变得可解释。

适用人群

专为需要明确数学公式而非仅预测结果的研究人员和数据科学家设计,尤其适用于处理低维数据集或希望解释深度神经网络的用户。

特色亮点

  • 高性能:采用多线程 Julia 后端,具备高速和可配置性。
  • 灵活的运算符:支持自定义二元和一元运算符,并可设置特定复杂度约束。
  • 可互操作性:可将学习到的方程导出为多种格式,包括 SymPy、JAX 和 PyTorch。
  • scikit-learn 风格:提供熟悉的 PySRRegressor 接口,便于集成到 Python 工作流中。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目