MilesCranmer commited on
Commit
c57ba15
1 Parent(s): a65054b

Combine todo items

Browse files
Files changed (1) hide show
  1. TODO.md +2 -3
TODO.md CHANGED
@@ -52,16 +52,16 @@
52
  - [x] Control max depth, rather than max number of nodes?
53
  - [x] Allow user to pass names for variables - use these when printing
54
  - [x] Check for domain errors in an equation quickly before actually running the entire array over it. (We do this now recursively - every single equation is checked for nans/infs when being computed.)
 
55
  - [ ] Sort these todo lists by priority
56
 
57
  ## Feature ideas
58
 
 
59
  - [ ] Cross-validation
60
- - [ ] read the docs page
61
  - [ ] Sympy printing
62
  - [ ] Better cleanup of zombie processes after <ctl-c>
63
  - [ ] Hierarchical model, so can re-use functional forms. Output of one equation goes into second equation?
64
- - [ ] Call function to read from csv after running, so dont need to run again
65
  - [ ] Add function to plot equations
66
  - [ ] Refresh screen rather than dumping to stdout?
67
  - [ ] Add ability to save state from python
@@ -69,7 +69,6 @@
69
  - [ ] Multi targets (vector ops). Idea 1: Node struct contains argument for which registers it is applied to. Then, can work with multiple components simultaneously. Though this may be tricky to get right. Idea 2: each op is defined by input/output space. Some operators are flexible, and the spaces should be adjusted automatically. Otherwise, only consider ops that make a tree possible. But will need additional ops here to get it to work. Idea 3: define each equation in 2 parts: one part that is shared between all outputs, and one that is different between all outputs. Maybe this could be an array of nodes corresponding to each output. And those nodes would define their functions.
70
  - [ ] Tree crossover? I.e., can take as input a part of the same equation, so long as it is the same level or below?
71
  - [ ] Consider printing output sorted by score, not by complexity.
72
- - [ ] Dump scores alongside MSE to .csv (and return with Pandas).
73
  - [ ] Create flexible way of providing "simplification recipes." I.e., plus(plus(T, C), C) => plus(T, +(C, C)). The user could pass these.
74
  - [ ] Consider allowing multi-threading turned off, for faster testing (cache issue on travis). Or could simply fix the caching issue there.
75
  - [ ] Consider returning only the equation of interest; rather than all equations.
 
52
  - [x] Control max depth, rather than max number of nodes?
53
  - [x] Allow user to pass names for variables - use these when printing
54
  - [x] Check for domain errors in an equation quickly before actually running the entire array over it. (We do this now recursively - every single equation is checked for nans/infs when being computed.)
55
+ - [x] read the docs page
56
  - [ ] Sort these todo lists by priority
57
 
58
  ## Feature ideas
59
 
60
+ - [ ] Create backup csv file so always something to copy from for `PySR`. Also use random hall of fame file by default. Call function to read from csv after running, so dont need to run again. Dump scores alongside MSE to .csv (and return with Pandas).
61
  - [ ] Cross-validation
 
62
  - [ ] Sympy printing
63
  - [ ] Better cleanup of zombie processes after <ctl-c>
64
  - [ ] Hierarchical model, so can re-use functional forms. Output of one equation goes into second equation?
 
65
  - [ ] Add function to plot equations
66
  - [ ] Refresh screen rather than dumping to stdout?
67
  - [ ] Add ability to save state from python
 
69
  - [ ] Multi targets (vector ops). Idea 1: Node struct contains argument for which registers it is applied to. Then, can work with multiple components simultaneously. Though this may be tricky to get right. Idea 2: each op is defined by input/output space. Some operators are flexible, and the spaces should be adjusted automatically. Otherwise, only consider ops that make a tree possible. But will need additional ops here to get it to work. Idea 3: define each equation in 2 parts: one part that is shared between all outputs, and one that is different between all outputs. Maybe this could be an array of nodes corresponding to each output. And those nodes would define their functions.
70
  - [ ] Tree crossover? I.e., can take as input a part of the same equation, so long as it is the same level or below?
71
  - [ ] Consider printing output sorted by score, not by complexity.
 
72
  - [ ] Create flexible way of providing "simplification recipes." I.e., plus(plus(T, C), C) => plus(T, +(C, C)). The user could pass these.
73
  - [ ] Consider allowing multi-threading turned off, for faster testing (cache issue on travis). Or could simply fix the caching issue there.
74
  - [ ] Consider returning only the equation of interest; rather than all equations.