Spaces:
Sleeping
Sleeping
MilesCranmer
commited on
Commit
•
9fa51a8
1
Parent(s):
95a2a34
Fix bug with Int32 rounding of equation age
Browse files- README.md +1 -0
- julia/sr.jl +3 -3
- setup.py +1 -1
README.md
CHANGED
@@ -327,6 +327,7 @@ pd.DataFrame, Results dataframe, giving complexity, MSE, and equations
|
|
327 |
## Algorithmic performance ideas:
|
328 |
|
329 |
- [ ] Idea: use gradient of equation with respect to each operator (perhaps simply add to each operator) to tell which part is the most "sensitive" to changes. Then, perhaps insert/delete/mutate on that part of the tree?
|
|
|
330 |
- [ ] Consider adding mutation for constant<->variable
|
331 |
- [ ] Implement more parts of the original Eureqa algorithms: https://www.creativemachineslab.com/eureqa.html
|
332 |
- [ ] Experiment with freezing parts of model; then we only append/delete at end of tree.
|
|
|
327 |
## Algorithmic performance ideas:
|
328 |
|
329 |
- [ ] Idea: use gradient of equation with respect to each operator (perhaps simply add to each operator) to tell which part is the most "sensitive" to changes. Then, perhaps insert/delete/mutate on that part of the tree?
|
330 |
+
- [ ] Start populations staggered; so that there is more frequent printing (and pops that start a bit later get hall of fame already)?
|
331 |
- [ ] Consider adding mutation for constant<->variable
|
332 |
- [ ] Implement more parts of the original Eureqa algorithms: https://www.creativemachineslab.com/eureqa.html
|
333 |
- [ ] Experiment with freezing parts of model; then we only append/delete at end of tree.
|
julia/sr.jl
CHANGED
@@ -41,8 +41,8 @@ function debug(verbosity, string...)
|
|
41 |
verbosity > 0 ? println(string...) : nothing
|
42 |
end
|
43 |
|
44 |
-
function getTime()::
|
45 |
-
return round(
|
46 |
end
|
47 |
|
48 |
# Define a serialization format for the symbolic equations:
|
@@ -526,7 +526,7 @@ end
|
|
526 |
mutable struct PopMember
|
527 |
tree::Node
|
528 |
score::Float32
|
529 |
-
birth::
|
530 |
|
531 |
PopMember(t::Node) = new(t, scoreFunc(t), getTime())
|
532 |
PopMember(t::Node, score::Float32) = new(t, score, getTime())
|
|
|
41 |
verbosity > 0 ? println(string...) : nothing
|
42 |
end
|
43 |
|
44 |
+
function getTime()::Integer
|
45 |
+
return round(Integer, 1e3*(time()-1.6e9))
|
46 |
end
|
47 |
|
48 |
# Define a serialization format for the symbolic equations:
|
|
|
526 |
mutable struct PopMember
|
527 |
tree::Node
|
528 |
score::Float32
|
529 |
+
birth::Integer
|
530 |
|
531 |
PopMember(t::Node) = new(t, scoreFunc(t), getTime())
|
532 |
PopMember(t::Node, score::Float32) = new(t, score, getTime())
|
setup.py
CHANGED
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
|
|
5 |
|
6 |
setuptools.setup(
|
7 |
name="pysr", # Replace with your own username
|
8 |
-
version="0.3.
|
9 |
author="Miles Cranmer",
|
10 |
author_email="[email protected]",
|
11 |
description="Simple and efficient symbolic regression",
|
|
|
5 |
|
6 |
setuptools.setup(
|
7 |
name="pysr", # Replace with your own username
|
8 |
+
version="0.3.18",
|
9 |
author="Miles Cranmer",
|
10 |
author_email="[email protected]",
|
11 |
description="Simple and efficient symbolic regression",
|