C++ Python CMake Shell C Matlab
Switch branches/tags
Clone or download
karlnapf Make trained model testing support single mixins (#4369)
* re-adding CPerceptron and CNewtonSVM to the tested classes
* make ctags ignore external code
Latest commit 5f9fc6c Jul 15, 2018

README.md

The SHOGUN machine learning toolbox


Unified and efficient Machine Learning since 1999.

Latest release:

Release

Cite Shogun:

DOI

Develop branch build status:

Build Status Build status codecov

Donate to Shogun via NumFocus:

Powered by NumFOCUS

Buildbot: http://buildbot.shogun-toolbox.org/waterfall.

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)
csharp stable (no known problems)
r beta (most examples work, static calls unavailable)
lua alpha (many examples work, string typemaps are unstable, overloaded methods 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. See our buildfarm.

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/reamde, submodule), ipython 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.