Spaces:
Running
Running
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 |
|