JKernelMachines is a java library for learning with kernels. It is primary designed to deal with custom kernels that are not easily found in standard libraries, such as kernels on structured data.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Copyright David Picard 2013
- Several learning algorithms (LaSVM, LaSVM-I, SMO, SimpleMKL, GradMKL, QNPKL, SGDQN, Pegasos, ...)
- Multiclass classification through generic classifiers.
- Datatype agnosticism through Java Generics
- Easy coding of new kernels
- Several standard and exotic kernels (kernel on bags, combination kernels, ...)
- Input system (can read libsvm, csv and fvec files)
- Toys generator for artificial data
- Basic linear algebra package (optionally based on EJML)
- Evaluation and Cross Validation packages
- Stand alone (requires only a working jdk and ant for easy compiling)
- Basic Example
- Classifier Training
- Transductive classifiers
- Multiclass Training
- Reading data
- Data generators
- Basic Linear Algebra
- Standalone programs
Available with the
ant doc command, or here
frequently asked questions are answered here
This work was mostly done while working at Lip6 - http://www.lip6.fr