SHOGUN is an open source software project designed from the offset to provide a machine learning toolbox targeted at large scale kernel methods, and specifically designed for Support Vector Machines (SVM). The software can be easily used from within various programming languages, including C, C++, Python, Octave, Matlab, Java, C#, Ruby, Lua, UNIX Shell, and R.
The application offers a standard SVM (Support Vector Machines) object that can interface with various SVM implementations. It also includes many linear methods, such as Linear Programming Machine (LPM), Linear Discriminant Analysis (LDA), (Kernel) Perceptrons, as well as some algorithms that can be used to train hidden Markov models.
Features at a glance
Key features include one class classification, multiclass classification, regression, structured output learning, pre-processing, built-in model selection strategies, test framework, large scale learning support, multitask learning, domain adaptation, serialization, parallelized code, performance measures, kernel ridge regression, vector regression support and gaussian processes.
Additionally, it supports multiple kernel learning, including q-norm MKL and multiclass MKL, supports the Naive Bayes, Logistic Regression, LASSO, k-NN and Gaussian Process Classification classifiers, supports linear programming machine, LDA, Markov chains, hidden Markov models, PCA, kernel PCA, Isomap, multidimensional scaling, locally linear embedding, diffusion map, local tangent space alignment, as well as laplacian eigenmaps.
Furthermore, it features Barnes-Hut t-SNE support, kernel normalizer, sigmoid kernel, string kernels, polynomial, linear and gaussian kernels, hierarchical clustering, k-means, BFGS optimization, gradient descent, bindings to CPLEX, bindings to Mosek, label sequence learning, factor graph learning, SO-SGD, latent SO-SVM and sparse data representation.
Under the hood and availability
SHOGUN is proudly written in the Python and C++ programming languages, which means that it’s compatible with any GNU/Linux operating system where Python and GCC exist. It is available for download as a universal source archive, so you can install it on any Linux kernel-based operating system.