The SHOGUN machine learning toolbox
Unified and efficient Machine Learning since 1999.
Latest release:
Cite Shogun:
Develop branch build status:
Donate to Shogun via NumFocus:
Buildbot: https://buildbot.shogun.ml.
-
See doc/readme/ABOUT.md for a project description.
-
See doc/readme/INSTALL.md for installation instructions.
-
See doc/readme/INTERFACES.md for calling Shogun from its interfaces.
-
See doc/readme/EXAMPLES.md for details on creating API examples.
-
See doc/readme/DEVELOPING.md for how to hack Shogun.
-
See API examples for all interfaces.
-
See the wiki for extended developer information.
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.

