A comparison of shogun with the popular machine learning toolboxes weka, kernlab, dlib, nieme, orange, java-ml, pyML, mlpy, pybrain, torch3, scikit-learn. A '?' denotes unkown, '-' feature is missing. This table is availabe as a google spreadsheet. If you have additions please share an updated spreadsheet with us and we will integrate the changes.

created | last updated | main language | main focus | |
---|---|---|---|---|

shogun | 1999 | 10-2013 | C++ | General Purpose ML Package with particular focus on large scale learning; Kernel Methods; Interfaces to various languages |

weka | 1997 | 07-2013 | java | General Purpose ML Package |

kernlab | 04-2004 | 11-2013 | R | Kernel Based Classification/Dimensionality Reduction |

dlib | 2006 | 10-2013 | C++ | Portability; Correctness |

nieme | 09-2006 | 03-2009 | C++ | Linear Regression; Ranking; Classification |

orange | 06-2004 | 11-2013 | python | Visual Data Analysis |

java-ml | 08-2008 | 07-2012 | java | Feature Selection |

pyML | 08-2004 | 09-2013 | C++; python | Kernel Methods |

mlpy | 02-2008 | 03-2012 | python | Basic Algorithms |

pybrain | 10-2008 | 02-2013 | python | Reinforcement Learning |

torch7 | 01-2002 | 11-2013 | C++;lua | Neural Networks |

scikit-learn | 2007 | 08-2013 | python; cython | General Purpose with simple API and numpy / scipy idioms |

shogun |
weka |
kernlab |
dlib |
nieme |
orange |
java-ml |
pyML |
mlpy |
pybrain |
torch3 |
scikit-learn |
||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|

General Features | Graphical User Interface | ||||||||||||

One Class Classification | |||||||||||||

Classification | |||||||||||||

Multiclass classification | |||||||||||||

Regression | |||||||||||||

Structured Output Learning | |||||||||||||

Pre-Processing | |||||||||||||

Built-in Model Selection Strategies | |||||||||||||

Visualization | |||||||||||||

Test Framework | |||||||||||||

Large Scale Learning | |||||||||||||

Semi-supervised Learning | |||||||||||||

Multitask Learning | |||||||||||||

Domain Adaptation | |||||||||||||

Serialization | |||||||||||||

Parallelized Code | |||||||||||||

Performance Measures (auROC etc) | |||||||||||||

Image Processing | |||||||||||||

Supported Operating Systems | Linux | ||||||||||||

Windows | |||||||||||||

Mac OSX | |||||||||||||

Other Unix | |||||||||||||

Language Bindings | Python | ||||||||||||

R | |||||||||||||

Matlab | |||||||||||||

Octave | |||||||||||||

C/C++ | |||||||||||||

Command Line | |||||||||||||

Java | |||||||||||||

C# | |||||||||||||

Lua | |||||||||||||

Ruby | |||||||||||||

SVM Solvers | SVMLight | ||||||||||||

LibSVM | |||||||||||||

SVM Ocas | |||||||||||||

LibLinear | |||||||||||||

BMRM | |||||||||||||

LaRank | |||||||||||||

SVMPegasos | |||||||||||||

SVM SGD | |||||||||||||

other | |||||||||||||

Regression | Kernel Ridge Regression | ||||||||||||

Support Vector Regression | |||||||||||||

Gaussian Processes | |||||||||||||

Relevance Vector Machine | |||||||||||||

Multiple Kernel Learning | MKL | ||||||||||||

q-norm MKL | |||||||||||||

multiclass MKL | |||||||||||||

Classifiers | Naive Bayes | ||||||||||||

Bayesian Networks | |||||||||||||

Multi Layer Perceptron | |||||||||||||

RBF Networks | |||||||||||||

Logistic Regression | |||||||||||||

LASSO | |||||||||||||

Decision Trees | |||||||||||||

k-NN | |||||||||||||

Gaussian Process Classification | |||||||||||||

Linear Classifiers | Linear Programming Machine | ||||||||||||

LDA | |||||||||||||

Distributions | Markov Chains | ||||||||||||

Hidden Markov Models | |||||||||||||

Dimension Reduction | PCA | ||||||||||||

Kernel PCA | |||||||||||||

Isomap | |||||||||||||

Multidimensional scaling | |||||||||||||

Sammon mapping | |||||||||||||

Locally Linear Embedding | |||||||||||||

Diffusion Map | |||||||||||||

Local Tangent Space Alignment | |||||||||||||

Laplacian Eigenmaps | |||||||||||||

Barnes-Hut t-SNE | |||||||||||||

Independent Component Analysis | FIXME | ||||||||||||

Kernels | Linear | ||||||||||||

Gaussian | |||||||||||||

Polynomial | |||||||||||||

String Kernels | |||||||||||||

Sigmoid Kernel | |||||||||||||

Kernel Normalizer | |||||||||||||

Feature Selection | Forward | ||||||||||||

Wrapper methods | |||||||||||||

Recursive Feature Selection | |||||||||||||

Missing Features | Mean value imputation | ||||||||||||

EM-based/model based imputation | |||||||||||||

Clustering | Hierarchical Clustering | ||||||||||||

k-means | |||||||||||||

Optimization | BFGS | ||||||||||||

conjugate gradient | |||||||||||||

gradient descent | |||||||||||||

bindings to CPLEX | |||||||||||||

bindings to Mosek | |||||||||||||

bindings to other solver | |||||||||||||

Structural Output Learning | Label Sequence Learning | ||||||||||||

Factor Graph Learning | |||||||||||||

SO-SGD | |||||||||||||

Latent SO-SVM | |||||||||||||

Supported File Formats | Binary | ||||||||||||

Arff | |||||||||||||

HDF5 | |||||||||||||

CSV | |||||||||||||

libSVM/ SVMLight format | |||||||||||||

Excel | |||||||||||||

Protobuf | |||||||||||||

Supported Data Types | Sparse Data Representation | ||||||||||||

Dense Matrices | |||||||||||||

Strings | |||||||||||||

Support for native (e.g. C) types (char, signed and unsigned int8, int16, int32, int64, float, double, long double) | |||||||||||||

Feb. 9, 2016 |
SHOGUN 4.1.0 | |

Jan. 26, 2015 |
SHOGUN 4.0.0 | |

Feb. 17, 2014 |
SHOGUN 3.2.0 | |

Jan. 6, 2014 |
SHOGUN 3.1.1 | |

Jan. 5, 2014 |
SHOGUN 3.1.0 | |

Oct. 28, 2013 |
SHOGUN 3.0.0 | |

March 17, 2013 |
SHOGUN 2.1.0 |