Code Quality Rank: L1
Programming language: C++
Tags: Machine Learning    
Latest version: v2.1

SHOGUN alternatives and similar libraries

Based on the "Machine Learning" category

Do you think we are missing an alternative of SHOGUN or a related project?

Add another 'Machine Learning' Library


The SHOGUN machine learning toolbox

Unified and efficient Machine Learning since 1999.

Latest release:


Cite Shogun:


Develop branch build status:

Build status codecov

Donate to Shogun via NumFocus:

Powered by NumFOCUS

Buildbot: https://buildbot.shogun.ml.

  • See [doc/readme/ABOUT.md](doc/readme/ABOUT.md) for a project description.
  • See [doc/readme/INSTALL.md](doc/readme/INSTALL.md) for installation instructions.
  • See [doc/readme/INTERFACES.md](doc/readme/INTERFACES.md) for calling Shogun from its interfaces.
  • See [doc/readme/EXAMPLES.md](doc/readme/EXAMPLES.md) for details on creating API examples.
  • See [doc/readme/DEVELOPING.md](doc/readme/DEVELOPING.md) for how to hack Shogun.

  • See API examples for all interfaces.

  • See the wiki for extended developer information.


Shogun is implemented in C++ and offers automatically generated, unified interfaces to Python, Octave, Java / Scala, Ruby, C#, R, Lua. We are currently working on adding more languages including JavaScript, D, and Matlab.

Interface Status
Python mature (no known problems)
Octave mature (no known problems)
Java/Scala stable (no known problems)
Ruby stable (no known problems)
C# stable (no known problems)
R beta (most examples work, static calls unavailable)
Perl pre-alpha (work in progress quality)
JS pre-alpha (work in progress quality)

See our website for examples in all languages.


Shogun is supported under GNU/Linux, MacOSX, FreeBSD, and Windows.

Directory Contents

The following directories are found in the source distribution. Note that some folders are submodules that can be checked out with git submodule update --init.

  • src - source code, separated into C++ source and interfaces
  • doc - readmes (doc/readme, submodule), Jupyter notebooks, cookbook (API examples), licenses
  • examples - example files for all interfaces
  • data - data sets (submodule, required for examples)
  • tests - unit tests and continuous integration of interface examples
  • applications - applications of SHOGUN (outdated)
  • benchmarks - speed benchmarks
  • cmake - cmake build scripts


Shogun is distributed under [BSD 3-clause license](doc/license/LICENSE.md), with optional GPL3 components. See [doc/licenses](doc/license) for details.

*Note that all licence references and agreements mentioned in the SHOGUN README section above are relevant to that project's source code only.