Spaces:
Running
Running
Commit
·
42ef7d9
1
Parent(s):
0449544
Switching to docsify
Browse files- .readthedocs-custom-steps.yml +0 -2
- .readthedocs-requirements.txt +0 -2
- .readthedocs.yml +0 -8
- docs/{start.md → README.md} +55 -0
- docs/_sidebar.md +6 -0
- docs/index.html +23 -0
- pydoc-markdown.yml +0 -73
.readthedocs-custom-steps.yml
DELETED
|
@@ -1,2 +0,0 @@
|
|
| 1 |
-
steps:
|
| 2 |
-
- pydoc-markdown --build --site-dir $SITE_DIR -vv
|
|
|
|
|
|
|
|
|
.readthedocs-requirements.txt
DELETED
|
@@ -1,2 +0,0 @@
|
|
| 1 |
-
pydoc-markdown
|
| 2 |
-
readthedocs-custom-steps
|
|
|
|
|
|
|
|
|
.readthedocs.yml
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
version: 2
|
| 2 |
-
mkdocs: {} # tell readthedocs to use mkdocs
|
| 3 |
-
python:
|
| 4 |
-
version: 3.7
|
| 5 |
-
install:
|
| 6 |
-
- method: pip
|
| 7 |
-
path: .
|
| 8 |
-
- requirements: .readthedocs-requirements.txt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
docs/{start.md → README.md}
RENAMED
|
@@ -1,3 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# Installation
|
| 2 |
PySR uses both Julia and Python, so you need to have both installed.
|
| 3 |
|
|
|
|
| 1 |
+
[//]: # (Logo:)
|
| 2 |
+
|
| 3 |
+
<img src="https://raw.githubusercontent.com/MilesCranmer/PySR/master/pysr_logo.svg" width="400" />
|
| 4 |
+
|
| 5 |
+
**PySR: parallel symbolic regression built on Julia, and interfaced by Python.**
|
| 6 |
+
|
| 7 |
+
Uses regularized evolution, simulated annealing, and gradient-free optimization.
|
| 8 |
+
|
| 9 |
+
| **Docs** | **pip** |
|
| 10 |
+
|---|---|
|
| 11 |
+
|[](https://pysr.readthedocs.io/en/latest/?badge=latest)|[](https://badge.fury.io/py/pysr)|
|
| 12 |
+
|
| 13 |
+
(pronounced like *py* as in python, and then *sur* as in surface)
|
| 14 |
+
|
| 15 |
+
If you find PySR useful, please cite it using the citation information given in [CITATION.md](https://github.com/MilesCranmer/PySR/blob/master/CITATION.md).
|
| 16 |
+
If you've finished a project with PySR, please let me know and I may showcase your work here!
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
### Test status:
|
| 20 |
+
| **Linux** | **Windows** | **macOS (intel)** | **Docker** | **Coverage** |
|
| 21 |
+
|---|---|---|---|---|
|
| 22 |
+
|[](https://github.com/MilesCranmer/PySR/actions/workflows/CI.yml)|[](https://github.com/MilesCranmer/PySR/actions/workflows/CI_Windows.yml)|[](https://github.com/MilesCranmer/PySR/actions/workflows/CI_mac.yml)|[](https://github.com/MilesCranmer/PySR/actions/workflows/CI_docker.yml)|[](https://coveralls.io/github/MilesCranmer/PySR)|
|
| 23 |
+
|
| 24 |
+
|
| 25 |
+
Check out [SymbolicRegression.jl](https://github.com/MilesCranmer/SymbolicRegression.jl) for
|
| 26 |
+
the pure-Julia backend of this package.
|
| 27 |
+
|
| 28 |
+
Symbolic regression is a very interpretable machine learning algorithm
|
| 29 |
+
for low-dimensional problems: these tools search equation space
|
| 30 |
+
to find algebraic relations that approximate a dataset.
|
| 31 |
+
|
| 32 |
+
One can also
|
| 33 |
+
extend these approaches to higher-dimensional
|
| 34 |
+
spaces by using a neural network as proxy, as explained in
|
| 35 |
+
[2006.11287](https://arxiv.org/abs/2006.11287), where we apply
|
| 36 |
+
it to N-body problems. Here, one essentially uses
|
| 37 |
+
symbolic regression to convert a neural net
|
| 38 |
+
to an analytic equation. Thus, these tools simultaneously present
|
| 39 |
+
an explicit and powerful way to interpret deep models.
|
| 40 |
+
|
| 41 |
+
|
| 42 |
+
*Backstory:*
|
| 43 |
+
|
| 44 |
+
Previously, we have used
|
| 45 |
+
[eureqa](https://www.creativemachineslab.com/eureqa.html),
|
| 46 |
+
which is a very efficient and user-friendly tool. However,
|
| 47 |
+
eureqa is GUI-only, doesn't allow for user-defined
|
| 48 |
+
operators, has no distributed capabilities,
|
| 49 |
+
and has become proprietary (and recently been merged into an online
|
| 50 |
+
service). Thus, the goal
|
| 51 |
+
of this package is to have an open-source symbolic regression tool
|
| 52 |
+
as efficient as eureqa, while also exposing a configurable
|
| 53 |
+
python interface.
|
| 54 |
+
|
| 55 |
+
|
| 56 |
# Installation
|
| 57 |
PySR uses both Julia and Python, so you need to have both installed.
|
| 58 |
|
docs/_sidebar.md
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
- Using PySR
|
| 2 |
+
|
| 3 |
+
- [Getting Started](/)
|
| 4 |
+
- [Options](options.md)
|
| 5 |
+
- [Operators](operators.md)
|
| 6 |
+
- [Examples](examples.md)
|
docs/index.html
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<title>Document</title>
|
| 6 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
| 7 |
+
<meta name="description" content="Description">
|
| 8 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
|
| 9 |
+
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
|
| 10 |
+
</head>
|
| 11 |
+
<body>
|
| 12 |
+
<div id="app"></div>
|
| 13 |
+
<script>
|
| 14 |
+
window.$docsify = {
|
| 15 |
+
name: '',
|
| 16 |
+
repo: '',
|
| 17 |
+
loadSidebar: true
|
| 18 |
+
}
|
| 19 |
+
</script>
|
| 20 |
+
<!-- Docsify v4 -->
|
| 21 |
+
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
| 22 |
+
</body>
|
| 23 |
+
</html>
|
pydoc-markdown.yml
DELETED
|
@@ -1,73 +0,0 @@
|
|
| 1 |
-
#@ def base_url():
|
| 2 |
-
#@ if env.READTHEDOCS:
|
| 3 |
-
#@ return "https://pysr.readthedocs.io/en/" + env.READTHEDOCS_VERSION + "/"
|
| 4 |
-
#@ else:
|
| 5 |
-
#@ return None
|
| 6 |
-
#@ end
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
loaders:
|
| 10 |
-
- type: python
|
| 11 |
-
|
| 12 |
-
processors:
|
| 13 |
-
- type: filter
|
| 14 |
-
- type: smart
|
| 15 |
-
- type: crossref
|
| 16 |
-
renderer:
|
| 17 |
-
type: hugo
|
| 18 |
-
|
| 19 |
-
markdown:
|
| 20 |
-
source_linker:
|
| 21 |
-
type: github
|
| 22 |
-
repo: MilesCranmer/PySR
|
| 23 |
-
|
| 24 |
-
config:
|
| 25 |
-
baseURL: #@ base_url()
|
| 26 |
-
title: PySR
|
| 27 |
-
theme: {clone_url: "https://github.com/alex-shpak/hugo-book.git"}
|
| 28 |
-
# The "book" theme only renders pages in "content/docs" into the nav.
|
| 29 |
-
|
| 30 |
-
build_directory: docs/build
|
| 31 |
-
content_directory: content/docs
|
| 32 |
-
|
| 33 |
-
default_preamble: {menu: main}
|
| 34 |
-
pages:
|
| 35 |
-
- title: Home
|
| 36 |
-
name: index
|
| 37 |
-
source: README.md
|
| 38 |
-
directory: '..'
|
| 39 |
-
- title: Getting started
|
| 40 |
-
name: getting-started
|
| 41 |
-
source: docs/start.md
|
| 42 |
-
preamble: {weight: 1}
|
| 43 |
-
- title: Features and Options
|
| 44 |
-
name: options
|
| 45 |
-
source: docs/options.md
|
| 46 |
-
preamble: {weight: 2}
|
| 47 |
-
- title: Operators
|
| 48 |
-
name: operators
|
| 49 |
-
source: docs/operators.md
|
| 50 |
-
preamble: {weight: 3}
|
| 51 |
-
- title: Examples
|
| 52 |
-
name: examples
|
| 53 |
-
source: docs/examples.md
|
| 54 |
-
preamble: {weight: 4}
|
| 55 |
-
- title: API Documentation
|
| 56 |
-
contents:
|
| 57 |
-
- pysr.*
|
| 58 |
-
# - pysr.sr.PySRRegressor
|
| 59 |
-
# - pysr.sr.PySRRegressor.__init__
|
| 60 |
-
# - pysr.sr.PySRRegressor.fit
|
| 61 |
-
# - pysr.sr.PySRRegressor.predict
|
| 62 |
-
# - pysr.sr.PySRRegressor.__repr__
|
| 63 |
-
# - pysr.sr.PySRRegressor.set_params
|
| 64 |
-
# - pysr.sr.PySRRegressor.get_params
|
| 65 |
-
# - pysr.sr.PySRRegressor.get_best
|
| 66 |
-
# - pysr.sr.PySRRegressor.sympy
|
| 67 |
-
# - pysr.sr.PySRRegressor.latex
|
| 68 |
-
# - pysr.sr.PySRRegressor.jax
|
| 69 |
-
# - pysr.sr.PySRRegressor.pytorch
|
| 70 |
-
# - pysr.sr.PySRRegressor.refresh
|
| 71 |
-
# - pysr.sr.install
|
| 72 |
-
# - pysr.sr.silence_julia_warning
|
| 73 |
-
preamble: {weight: 5}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|