Spaces:
Running
Running
MilesCranmer
commited on
Commit
•
d7b393d
1
Parent(s):
dd17964
Update TODO
Browse files
README.md
CHANGED
@@ -289,14 +289,16 @@ pd.DataFrame, Results dataframe, giving complexity, MSE, and equations
|
|
289 |
- [x] Declaration of the weights array every iteration
|
290 |
- [x] Sympy evaluation
|
291 |
- [x] Threaded recursion
|
|
|
292 |
- [ ] Add true multi-node processing, with MPI, or just file sharing. Multiple populations per core.
|
293 |
- Ongoing in cluster branch
|
|
|
|
|
294 |
- [ ] Consider allowing multi-threading turned off, for faster testing (cache issue on travis). Or could simply fix the caching issue there.
|
295 |
- [ ] Dump scores alongside MSE to .csv (and return with Pandas).
|
296 |
- [ ] Consider returning only the equation of interest; rather than all equations.
|
297 |
- [ ] Use @fastmath
|
298 |
- [ ] Refresh screen rather than dumping to stdout?
|
299 |
-
- [ ] Test suite
|
300 |
- [ ] Add ability to save state from python
|
301 |
- [ ] Calculate feature importances based on features we've already seen, then weight those features up in all random generations.
|
302 |
- [ ] Calculate feature importances of future mutations, by looking at correlation between residual of model, and the features.
|
@@ -309,8 +311,6 @@ pd.DataFrame, Results dataframe, giving complexity, MSE, and equations
|
|
309 |
- [ ] Use NN to generate weights over all probability distribution conditional on error and existing equation, and train on some randomly-generated equations
|
310 |
- [ ] Add GPU capability?
|
311 |
- Not sure if possible, as binary trees are the real bottleneck.
|
312 |
-
- [ ] Performance:
|
313 |
-
- Use an enum for functions instead of storing them?
|
314 |
- [ ] 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?
|
315 |
- [ ] For hierarchical idea: after running some number of iterations, do a search for "most common pattern". Then, turn that subtree into its own operator.
|
316 |
- [ ] Additional degree operators?
|
@@ -321,4 +321,6 @@ pd.DataFrame, Results dataframe, giving complexity, MSE, and equations
|
|
321 |
- [ ] Try Memoize.jl instead of manually caching.
|
322 |
- [ ] Try threading over population. Do random sort, compute mutation for each, then replace 10% oldest.
|
323 |
- [ ] Call function to read from csv after running
|
|
|
|
|
324 |
|
|
|
289 |
- [x] Declaration of the weights array every iteration
|
290 |
- [x] Sympy evaluation
|
291 |
- [x] Threaded recursion
|
292 |
+
- [x] Test suite
|
293 |
- [ ] Add true multi-node processing, with MPI, or just file sharing. Multiple populations per core.
|
294 |
- Ongoing in cluster branch
|
295 |
+
- [x] Performance: - Use an enum for functions instead of storing them?
|
296 |
+
- Gets ~40% speedup on small test.
|
297 |
- [ ] Consider allowing multi-threading turned off, for faster testing (cache issue on travis). Or could simply fix the caching issue there.
|
298 |
- [ ] Dump scores alongside MSE to .csv (and return with Pandas).
|
299 |
- [ ] Consider returning only the equation of interest; rather than all equations.
|
300 |
- [ ] Use @fastmath
|
301 |
- [ ] Refresh screen rather than dumping to stdout?
|
|
|
302 |
- [ ] Add ability to save state from python
|
303 |
- [ ] Calculate feature importances based on features we've already seen, then weight those features up in all random generations.
|
304 |
- [ ] Calculate feature importances of future mutations, by looking at correlation between residual of model, and the features.
|
|
|
311 |
- [ ] Use NN to generate weights over all probability distribution conditional on error and existing equation, and train on some randomly-generated equations
|
312 |
- [ ] Add GPU capability?
|
313 |
- Not sure if possible, as binary trees are the real bottleneck.
|
|
|
|
|
314 |
- [ ] 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?
|
315 |
- [ ] For hierarchical idea: after running some number of iterations, do a search for "most common pattern". Then, turn that subtree into its own operator.
|
316 |
- [ ] Additional degree operators?
|
|
|
321 |
- [ ] Try Memoize.jl instead of manually caching.
|
322 |
- [ ] Try threading over population. Do random sort, compute mutation for each, then replace 10% oldest.
|
323 |
- [ ] Call function to read from csv after running
|
324 |
+
- [ ] Add function to plot equations
|
325 |
+
- [ ] Sort this todo list by priority
|
326 |
|