MilesCranmer commited on
Commit
054a42f
β€’
1 Parent(s): 4186ccc

Improve writing style of README

Browse files
Files changed (1) hide show
  1. README.md +25 -24
README.md CHANGED
@@ -22,13 +22,21 @@ https://github.com/MilesCranmer/PySR/assets/7593028/c8511a49-b408-488f-8f18-b174
22
  If you find PySR useful, please cite the paper [arXiv:2305.01582](https://arxiv.org/abs/2305.01582).
23
  If you've finished a project with PySR, please submit a PR to showcase your work on the [research showcase page](https://astroautomata.com/PySR/papers)!
24
 
 
 
 
 
 
 
 
 
25
  <div align="center">
26
 
27
  ### Contributors ✨
28
 
29
  </div>
30
 
31
- We are eager to welcome new contributors and are looking forward to get you up to speed! Check out our contributors [guide](https://github.com/MilesCranmer/PySR/blob/master/CONTRIBUTORS.md) for tips πŸš€.
32
  If you have an idea for a new feature, don't hesitate to share it on the [issues](https://github.com/MilesCranmer/PySR/issues) or [discussions](https://github.com/MilesCranmer/PySR/discussions) page.
33
 
34
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
@@ -94,33 +102,26 @@ If you have an idea for a new feature, don't hesitate to share it on the [issues
94
 
95
  </div>
96
 
97
- PySR is built on an extremely optimized pure-Julia backend: [SymbolicRegression.jl](https://github.com/MilesCranmer/SymbolicRegression.jl).
 
 
 
98
 
99
- Symbolic regression is a very interpretable machine learning algorithm
100
- for low-dimensional problems: these tools search equation space
101
- to find algebraic relations that approximate a dataset.
 
 
 
102
 
103
- One can also
104
- extend these approaches to higher-dimensional
105
- spaces by using a neural network as proxy, as explained in
106
  [2006.11287](https://arxiv.org/abs/2006.11287), where we apply
107
  it to N-body problems. Here, one essentially uses
108
  symbolic regression to convert a neural net
109
  to an analytic equation. Thus, these tools simultaneously present
110
- an explicit and powerful way to interpret deep models.
111
-
112
- *Backstory:*
113
-
114
- Previously, we have used
115
- [eureqa](https://www.creativemachineslab.com/eureqa.html),
116
- which is a very efficient and user-friendly tool. However,
117
- eureqa is GUI-only, doesn't allow for user-defined
118
- operators, has no distributed capabilities,
119
- and has become proprietary (and recently been merged into an online
120
- service). Thus, the goal
121
- of this package is to have an open-source symbolic regression tool
122
- as efficient as eureqa, while also exposing a configurable
123
- python interface.
124
 
125
  ## Installation
126
 
@@ -186,7 +187,7 @@ If none of these folders contain your Julia binary, then you need to add Julia's
186
 
187
  **Running PySR on macOS with an M1 processor:** you should use the pip version, and make sure to get the Julia binary for ARM/M-series processors.
188
 
189
- ## Introduction
190
 
191
  You might wish to try the interactive tutorial [here](https://colab.research.google.com/github/MilesCranmer/PySR/blob/master/examples/pysr_demo.ipynb), which uses the notebook in `examples/pysr_demo.ipynb`.
192
 
@@ -370,7 +371,7 @@ model = PySRRegressor(
370
  )
371
  ```
372
 
373
- ## Docker
374
 
375
  You can also test out PySR in Docker, without
376
  installing it locally, by running the following command in
 
22
  If you find PySR useful, please cite the paper [arXiv:2305.01582](https://arxiv.org/abs/2305.01582).
23
  If you've finished a project with PySR, please submit a PR to showcase your work on the [research showcase page](https://astroautomata.com/PySR/papers)!
24
 
25
+ **Contents**:
26
+
27
+ - [Contributors](#contributors-)
28
+ - [Why PySR?](#why-pysr)
29
+ - [Installation](#installation)
30
+ - [Quickstart](#quickstart)
31
+ - [β†’ Documentation](https://astroautomata.com/PySR)
32
+
33
  <div align="center">
34
 
35
  ### Contributors ✨
36
 
37
  </div>
38
 
39
+ We are eager to welcome new contributors! Check out our contributors [guide](https://github.com/MilesCranmer/PySR/blob/master/CONTRIBUTORS.md) for tips πŸš€.
40
  If you have an idea for a new feature, don't hesitate to share it on the [issues](https://github.com/MilesCranmer/PySR/issues) or [discussions](https://github.com/MilesCranmer/PySR/discussions) page.
41
 
42
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
 
102
 
103
  </div>
104
 
105
+ ## Why PySR?
106
+
107
+ PySR is an open-source tool for *Symbolic Regression*: a machine learning
108
+ task where the goal is to find an interpretable symbolic expression that optimizes some objective.
109
 
110
+ Over a period of several years, PySR has been engineered from the ground up
111
+ to be (1) as high-performance as possible,
112
+ (2) as configurable as possible, and (3) easy to use.
113
+ PySR is developed alongside the Julia library [SymbolicRegression.jl](https://github.com/MilesCranmer/SymbolicRegression.jl),
114
+ which forms the powerful search engine of PySR.
115
+ The details of these algorithms are described in the [PySR paper](https://arxiv.org/abs/2305.01582).
116
 
117
+ Symbolic regression works best on low-dimensional datasets, but
118
+ one can also extend these approaches to higher-dimensional
119
+ spaces by using "*Symbolic Distillation*" of Neural Networks, as explained in
120
  [2006.11287](https://arxiv.org/abs/2006.11287), where we apply
121
  it to N-body problems. Here, one essentially uses
122
  symbolic regression to convert a neural net
123
  to an analytic equation. Thus, these tools simultaneously present
124
+ an explicit and powerful way to interpret deep neural networks.
 
 
 
 
 
 
 
 
 
 
 
 
 
125
 
126
  ## Installation
127
 
 
187
 
188
  **Running PySR on macOS with an M1 processor:** you should use the pip version, and make sure to get the Julia binary for ARM/M-series processors.
189
 
190
+ ## Quickstart
191
 
192
  You might wish to try the interactive tutorial [here](https://colab.research.google.com/github/MilesCranmer/PySR/blob/master/examples/pysr_demo.ipynb), which uses the notebook in `examples/pysr_demo.ipynb`.
193
 
 
371
  )
372
  ```
373
 
374
+ ### Docker
375
 
376
  You can also test out PySR in Docker, without
377
  installing it locally, by running the following command in