SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Go to the documentation of this file.
1 /** \mainpage SHOGUN Project Documentation
3  \image html shogun_logo.png
5  \section intro_sec Introduction
6 The Shogun Machine learning toolbox provides a wide range of *unified* and *efficient* Machine Learning (ML) methods. The toolbox seamlessly allows to easily combine multiple data representations, algorithm classes, and general purpose tools. This enables both rapid prototyping of data pipelines and extensibility in terms of new algorithms. We combine modern software architecture in C++ with both efficient low-level computing backends and cutting edge algorithm implementations to solve large-scale Machine Learning problems (yet) on single machines.
8 One of Shogun's most exciting features is that you can use the toolbox through a *unified* interface from C++, Python, Octave, R, Java, Lua, C#, etc. This not just means that we are independent of trends in computing languages, but it also lets you use Shogun as a vehicle to expose your algorithm to multiple communities. We use [SWIG]( to enable *bidirectional* communication between C++ and target languages. Shogun runs under Linux/Unix, MacOS, Windows.
10 Originally focussing on large-scale kernel methods and bioinformatics (for a list of scientific papers mentioning Shogun, see [here](, the toolbox saw massive extensions to other fields in recent years. It now offers features that span the whole space of Machine Learning methods, including many classical methods in classification, regression, dimensionality reduction, clustering, but also more advanced algorithm classes such as metric, multi-task, structured output, and online learning, as well as feature hashing, ensemble methods, and optimization, just to name a few. Shogun in addition contains a number of exclusive state-of-the art algorithms such as a wealth of efficient SVM implementations, Multiple Kernel Learning, kernel hypothesis testing, Krylov methods, etc. All algorithms are supported by a collection of general purpose methods for evaluation, parameter tuning, preprocessing, serialisation & I/O, etc; the resulting combinatorial possibilities are huge. See our [feature list]( for more details.
12 The wealth of ML open-source software allows us to offer bindings to other sophisticated libraries including: [LibSVM]([LibLinear](, [SVMLight](, [LibOCAS](, [libqp](, [VowpalWabbit](, [Tapkee](, [SLEP](, [GPML]( and more. See our [list of integrated external libraries](
14 Shogun got initiated in 1999 by [Soeren Sonnenburg]( and [Gunnar Raetsch]( (that's where the name ShoGun originates from). It is now developed by a much larger Team cf. [website]( and [AUTHORS](, and would not have been possible without the patches and bug reports by various people. See [CONTRIBUTIONS]( for a detailed list. Statistics on Shogun's development activity can be found on [ohloh](
16  \li \subpage installation
17  \li \subpage screenshots
18  \li \subpage tutorial
19  \li \subpage examples
20  \li \subpage methods "Implemented Methods"
21  \li \subpage interfaces
22  \li \subpage faq
23  \li \subpage developer "Developer Guide"
24  \li \subpage authors "Authors"
25  \li \subpage contributions "Contributions"
26  \li \subpage license
28  Sincerely,
29  the Shogun team.
30 */

SHOGUN Machine Learning Toolbox - Documentation