Shogun Machine Learning Toolbox
NumFOCUS Sponsored Project since 2017The Shogun Machine Learning Toolbox is devoted to making machine learning tools available for free, to everyone. It provides efficient implementation of all standard ML algorithms. Shogun ensures that the underlying algorithms are transparent and accessible—a unified interface provides access via many popular programming languages, including C++, Python, Octave, R, Java, Lua, C#, and Ruby.
Share This Project:
Industry
Business & Industry Applications
Language
Python
R
JavaScript
Octave
Lua
Java
C#
C++
Features
Visualization
Big Data
Statistical Computing
Numerical Computing
Machine Learning
Educational Outreach
Shogun is an open-source machine learning platform that anyone can use to learn about ML and apply it to solve problems. Shogun provides efficient implementation of most standard ML algorithms, including state-of-the art algorithms (among others: efficient SVM implementations, multiple kernel learning, kernel hypothesis testing and Krylov methods). All of these are supported by a collection of general purpose methods for evaluation, parameter tuning, preprocessing, serialisation and I/O. Shogun does not re-invent the wheel, but offers bindings to other sophisticated libraries including, LibSVM/LibLinear, SVMLight, LibOCAS, libqp, VowpalWabbit, Tapkee, SLEP, GPML and more. A unified interface provides access via many popular programming languages, including C++, Python, Octave, R, Java, Lua, C#, and Ruby.
Shogun historically has a big user base in the bioinformatics scientific community, due to its roots in sequence based Machine Learning, such as prediction of splice sites and RNA translation start sites, classification of drug effectiveness, etc. Scientists in the academic “kernel methods” community use Shogun as a vehicle for implementing state-of-the-art research code. Shogun is also used for educational purposes in university courses, and in industry settings where efficient code and flexible interfaces (e.g. both Java AND Python) matter.

