/shogun

Shōgun

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

The SHOGUN machine learning toolbox


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.

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.

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.