Shogun is the oldest open-source general purpose ML library that offers a wide range of efficient and unified ML methods [Shogun] [ShogunGoogle] [Sonnenburg 2010] built on an architecture written in C++. It is licensed under the terms of the GNU GPLv3 license.
The library SVM contains 15 implementations in combination with more than 35 kernel implementations, which can be furthermore combined/constructed by subkernel weighting. Shogun also covers wide range of regression and classification methods as well as a number of linear methods, algorithms to train Hidden Markov Models (HMM), statistical testing, clustering, distance counting, FFNNs and model evaluations and many more. It has been under active development since 1999, with involving maintenance (the current version is 6.1.3, 12.2017). Original authors are Gunnar Rätsc from Max Planck Society for the Advancement of Science, and Sören Sonnenburg from Berlin Institute of Technology. Currently, Shogun is developed by a diverse team of volunteers and it is fiscally sponsored project of NumFOCUS since 2017. The main idea behind Shogun is that the underlying algorithms are transparent and accessible and anyone should be able to use for free. It was successfully used in speech and handwriting recognition, medical diagnosis, bioinformatics, computer vision, object recognition, stock market analysis, network security, intrusion detection, and many other. Shogun can be used transparently in many languages and environments as Python, Octave, R, Java/Scala, Lua, C#, and Ruby. It offers bindings to other sophisticated libraries including, LibSVM/LibLinear, SVMLight, LibOCAS, libqp, Vowpal Wabbit, Tapkee, SLEP, GPML and with future plans of interfacing TensorFlow and Stan.
Strong points
Weak points