I am in search of open source classification algorithms. I am working on a computer vision project that uses classification for scene recognition. I wish to bench test a range of machine learning algorithms for the classification stage. The implementations must be on open source licenses and preferably written in C++. All and any help would be highly appreciated. Thanks in advance.
Machine Learning (including classification) http://dlib.net/ml.html
Shogun - A Large Scale Machine Learning Toolbox
// Note: the aforementioned example has me rather worried in that it seems this library is not following best practices of modern C++: in particular, raw pointers and manual
deleteare usually a bad practice without a specific, well-motivated need (that I find lacking in the context of the presented examples). See: http://herbsutter.com/elements-of-modern-c-style/
Written in C++, can be used as a library; examples:
// Note: manual invocations of
VW::finishoperating on a raw pointer
vw*raise concerns similar to the ones above; example: https://github.com/JohnLangford/vowpal_wabbit/blob/master/library/library_example.cc
For more, see also Machine Learning Open Source Software:
You may also find the following of use:
What you really need is OpenCV . OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. It has C++, C, Python and Java interfaces and supports Windows, Linux, Android and Mac OS.
You may find there lots of solutions for computer vision recognition problems.
LIBSVM, de facto standard for SVM learning (BSD license):
- home page
- implemented in
C, so trivial to use in
- interfaces in various languages available, including R (kernlab), Python (scikit-learn), ...
Shameless self advertisement: EnsembleSVM
EnsembleSVM is a toolbox for fast nonlinear learning with SVMs. Licensed under LGPL v3. Some basic info is available in our paper.
VlFeat http://www.vlfeat.org/ is great computer vision library written in pure C.