Shogun (toolbox)
Shogun is a free, open-source machine learning software library written in C++. It offers numerous algorithms and data structures for machine learning problems. It offers interfaces for Octave, Python, R, Java, Lua, Ruby and C# using SWIG.
It is licensed under the terms of the GNU General Public License version 3 or later.
Description
The focus of Shogun is on kernel machines such as support vector machines for regression and classification problems. Shogun also offers a full implementation of Hidden Markov models.The core of Shogun is written in C++ and offers interfaces for MATLAB, Octave, Python, R, Java, Lua, Ruby and C#.
Shogun has been under active development since 1999. Today there is a vibrant user community all over the world using Shogun as a base for research and education, and contributing to the core package.
Supported algorithms
Currently Shogun supports the following algorithms:- Support vector machines
- Dimensionality reduction algorithms, such as PCA, Kernel PCA, Locally Linear Embedding, Hessian Locally Linear Embedding, Local Tangent Space Alignment, Linear Local Tangent Space Alignment, Kernel Locally Linear Embedding, Kernel Local Tangent Space Alignment, Multidimensional Scaling, Isomap, Diffusion Maps, Laplacian Eigenmaps
- Online learning algorithms such as SGD-QN, Vowpal Wabbit
- Clustering algorithms: k-means and GMM
- Kernel Ridge Regression, Support Vector Regression
- Hidden Markov Models
- K-Nearest Neighbors
- Linear discriminant analysis
- Kernel Perceptrons.
- linear
- gaussian
- polynomial
- sigmoid kernels
- Spectrum
- Weighted Degree
- Weighted Degree with Shifts