Skip to content

Commit

Permalink
provided up-to-date todo list to answer #1
Browse files Browse the repository at this point in the history
  • Loading branch information
Nestor Demeure authored and Nestor Demeure committed Dec 14, 2019
1 parent 99ed0f1 commit fada45c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 16 deletions.
13 changes: 2 additions & 11 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ This implementation lets you:
- predict the mean and variance and covariance matrix for given inputs
- sample the distribution at a given position

(See the [todo](https://github.com/nestordemeure/friedrich/blob/master/todo.md) file to get up-to-date informations on current developements.)

## Code sample

```rust
Expand Down Expand Up @@ -59,17 +61,6 @@ Most methods of this library can currently work with the following `input -> oup

A trait is provided to add your own pairs.

## Future developements

The list of things that could be done to improve on the current implementation includes:

- Reduce memory consumption for large datasets.
- Add [ndarray](https://docs.rs/ndarray/) support behind a feature flag.
- Add simple [kernel regression](https://en.wikipedia.org/wiki/Kernel_regression#Nadaraya%E2%80%93Watson_kernel_regression) (not as clever but much faster).
- Add scalable variations of the algorithm.

*Do not hesitate to send pull request or open issues to ask for features.*

## Why call it Friedrich ?

Gaussian Process are named after the [Gaussian distribution](https://en.wikipedia.org/wiki/Gaussian_function) which is itself named after [Carl Friedrich Gauss](https://en.wikipedia.org/wiki/Carl_Friedrich_Gauss).
22 changes: 17 additions & 5 deletions todo.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
# TODO list
# TODO

- how to know if a kernel is default defined or user defined ?
- add [benchmark](http://www.resibots.eu/limbo/release-2.0/reg_benchmarks.html)
- integrate all nalgebra fix once new version is released
- introduce a macro (to have optional parameters with default value) instead of the builder pattern ? can it let us deal with knowing wich param is default ?
List of features that will be implemented (in no particular order) :

- Integrate nalgebra cholesky decomposition update once the new version is released
- Add [ndarray](https://docs.rs/ndarray/) support behind a feature flag
- Add [serde](https://docs.rs/ndarray/) support behind a feature flag
- Add simple [kernel regression](https://en.wikipedia.org/wiki/Kernel_regression#Nadaraya%E2%80%93Watson_kernel_regression) (not as clever but much faster).
- add [benchmarks](http://www.resibots.eu/limbo/release-2.0/reg_benchmarks.html) to confirm correctness and validate performances
- Add sparse gaussian proces
- Improve test coverage

List of API modifications that are being considered :

- replace the builder pattern with a macro (might rely on [duang](https://crates.io/crates/duang))
- simplify the kernel trait

*Do not hesitate to start an issue if you want to contribute to one of those points.*

0 comments on commit fada45c

Please sign in to comment.