Code Quality Rank: L1
Programming language: C++
License: BSD 3-clause "New" or "Revised" License
Tags: Machine Learning    
Latest version: v2.1

SHOGUN alternatives and similar libraries

Based on the "Machine Learning" category.
Alternatively, view SHOGUN alternatives based on common mentions on social networks and blogs.

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.