Open source classification algorithms, preferably in C++ 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.
 A: *

*dlib
http://dlib.net/
Machine Learning (including classification) http://dlib.net/ml.html
Examples: http://dlib.net/multiclass_classification_ex.cpp.html

*Shark
http://image.diku.dk/shark/sphinx_pages/build/html/
http://image.diku.dk/shark/sphinx_pages/build/html/rest_sources/tutorials/tutorials.html 

*Shogun - A Large Scale Machine Learning Toolbox
http://shogun-toolbox.org/
http://shogun-toolbox.org/doc/en/current/methods.html
http://shogun-toolbox.org/doc/en/current/libshogun_examples.html
// 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 new/delete are 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/

*Vowpal Wabbit
https://en.wikipedia.org/wiki/Vowpal_Wabbit
https://github.com/JohnLangford/vowpal_wabbit/wiki
Written in C++, can be used as a library; examples:
https://github.com/JohnLangford/vowpal_wabbit/tree/master/library
// Note: manual invocations of VW::initialize and VW::finish operating 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:
http://mloss.org/software/language/c__/
You may also find the following of use:
- https://stackoverflow.com/questions/3167024/fastest-general-machine-learning-library
- https://stackoverflow.com/questions/2915341/which-machine-learning-library-to-use
A: 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.
A: LIBSVM, de facto standard for SVM learning (BSD license):


*

*home page

*implemented in C, so trivial to use in C++

*interfaces in various languages available, including R (kernlab), Python (scikit-learn), ...



Shameless self advertisement: EnsembleSVM


*

*home page

*github

*implemented in C++11
EnsembleSVM is a toolbox for fast nonlinear learning with SVMs. Licensed under LGPL v3. Some basic info is available in our paper.
A: VlFeat http://www.vlfeat.org/ is great computer vision library written in pure C.
