The SHOGUN machine learning toolbox

September 7, 2020 ยท View on GitHub


Unified and efficient Machine Learning since 1999.

Latest release:

Release

Cite Shogun:

DOI

Develop branch build status:

Build status codecov

Donate to Shogun via NumFocus:

Powered by NumFOCUS

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

Interfaces


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.

InterfaceStatus
Pythonmature (no known problems)
Octavemature (no known problems)
Java/Scalastable (no known problems)
Rubystable (no known problems)
C#stable (no known problems)
Rbeta (most examples work, static calls unavailable)
Perlpre-alpha (work in progress quality)
JSpre-alpha (work in progress quality)

See our website for examples in all languages.

Platforms


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

License


Shogun is distributed under BSD 3-clause license, with optional GPL3 components. See doc/licenses for details.