|
| 1 | +# Road map |
| 2 | + |
| 3 | +- [ ] Mock up a challenging `update` use-case: controlling an iterative algorithm that |
| 4 | + wants, for efficiency, to internally compute the out-of-sample predictions that will |
| 5 | + be for used to *externally* determined early stopping cc: @jeremiedb |
| 6 | + |
| 7 | +- [ ] Get code coverage to 100% (see next item) |
| 8 | + |
| 9 | +- [ ] Add to this repo or a utility repo methods to test a valid implementation of |
| 10 | + LearnAPI.jl |
| 11 | + |
| 12 | +- [ ] Flush out "Common Implementation Patterns". The current plan is to mock up example |
| 13 | + implementations, and add them as LearnAPI.jl tests, with links to the test file from |
| 14 | + "Common Implementation Patterns". As real-world implementations roll out, we could |
| 15 | + increasingly point to those instead, to conserve effort |
| 16 | + - [x] regression |
| 17 | + - [ ] classification |
| 18 | + - [ ] clustering |
| 19 | + - [ ] gradient descent |
| 20 | + - [ ] iterative algorithms |
| 21 | + - [ ] incremental algorithms |
| 22 | + - [ ] dimension reduction |
| 23 | + - [x] feature engineering |
| 24 | + - [x] static algorithms |
| 25 | + - [ ] missing value imputation |
| 26 | + - [ ] transformers |
| 27 | + - [ ] ensemble algorithms |
| 28 | + - [ ] time series forecasting |
| 29 | + - [ ] time series classification |
| 30 | + - [ ] survival analysis |
| 31 | + - [ ] density estimation |
| 32 | + - [ ] Bayesian algorithms |
| 33 | + - [ ] outlier detection |
| 34 | + - [ ] collaborative filtering |
| 35 | + - [ ] text analysis |
| 36 | + - [ ] audio analysis |
| 37 | + - [ ] natural language processing |
| 38 | + - [ ] image processing |
| 39 | + - [ ] meta-algorithms |
| 40 | + |
| 41 | +- [ ] In a utility package provide: |
| 42 | + - [ ] Method to clone an algorithm with user-specified property(hyperparameter) |
| 43 | + changes, as in `LearnAPI.clone(algorithm, p1=value1, p22=value2, ...)` (since |
| 44 | + `algorithm` can have any type, can't really overload `Base.replace` without |
| 45 | + piracy). This will be needed in tuning meta-algorithms. Or should this be in |
| 46 | + LearnAPI.jl proper, to expose it to all users? |
| 47 | + - [ ] Methods to facilitate common-use case data interfaces: support simultaneously |
| 48 | + `fit` data of the form `data = (X, y)` where `X` is table *or* matrix, and |
| 49 | + `data` a table with target specified by hyperparameter; here `obs` will return a |
| 50 | + thin wrapping of the matrix of `X`, the target `y`, and the names of all |
| 51 | + fields. We can have options to make `X` a concrete array or an adjoint, |
| 52 | + depending on what is more efficient for the algorithm. |
0 commit comments