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.
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 | Currently disabled due to a swig bug |
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.
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, with optional GPL3 components. See doc/licenses for details.