Back to the docs page
Previous Next
Contributions that would benefit this project
The Waffles project seeks to gather command-line tools that are useful in:
- Machine learning,
- Data mining,
- Artificial intelligence,
- Computer vision,
- System identification,
- Pattern recognition,
- and related topics.
All Waffles tools must:
- Be written in C++,
- Compile on Linux,
- Be released under the LGPL, or a more permissive compatible license,
We strongly prefer that your contributions:
- Also compile on Windows and Mac,
- Be integrated with our library, without adding a lot of redundant data structures,
- and come with unit tests integrated with our automatic test harness,
but we might be willing to help you meet those requirements if you have a useful contribution.
Wish List
If you are looking to become a Waffles developer, and you want something to do, here are a few ideas for contributions that might be useful:
- Add a new supervised learning algorithm. We are notably missing an SVM. You could help us integrate with existing tools like libsvm.
- I'd like to implement Bayesian Model Averaging, and Bayesian Model Combination. (Most of the structure for these is already built in GEnsemble.cpp, so it wouldn't be very much work.)
- Our feature selection tools could benefit from more diversity of approaches.
- I've been wanting to augment the waffles_plot tool to generate SVG graphics.
- Our classes for implementing Bayesian inference nets are woefully incomplete. You could work on those.
- Our unit test coverage is also incomplete. You could beef those up.
- There are a lot of good optimization techniques that we do not yet have implementations for. For example, a QP solver would be nice.
- We don't have any rule-based learners.
- Finding and reporting bugs is a very useful contribution.
- Tell us where our tools are difficult to use. Seriously, sometimes we may not be as aware of usability issues as you think, and if you just tell us, we're often happy, even anxious, to fix them.
- Contributions to our documentation are always welcome. (Documentation written by the original developers often makes too many assumptions about the reader already knowing nearly everything. Help us make our docs accessible to a more general audience.)
- Our table of algorithm accuracies is outdated. If you have a cluster of machines, you could make a newer one.
- I've been meaning to switch from SVN to Git, but I have to continue to support Windows (since a large portion of our users are still stuck on it) and I've been having trouble getting Git on Windows to talk to a non-standard ssh port on my Linux box. If you're a Git expert, you could help us make this transition.
- It would be really helpful if there was a document containing all of the bibtex info for the papers that one should cite when using any of these algorithms.
- If you're a Debian or Red Hat package maintainer, we'd really love to have a package made with the Waffles command-line tools.
- Spread the word. For example, we don't have a Wikipedia page yet.
- You could add your wishes to this list. (Of course, you cannot expect our developers to give your wishes priority over their own, but if you don't tell us what you want, you probably won't get it.)
Previous Next
Back to the docs page
|