Support vector machines (SVMs) and related kernel-based learning algorithms are a well-known class of machine learning algorithms, for non-parametric classification and regression. liquidSVM is an implementation of SVMs whose key features are:
- fully integrated hyper-parameter selection,
- extreme speed on both small and large data sets,
- Bindings for R, Python, MATLAB / Octave, Java, and Spark,
- full flexibility for experts, and
- inclusion of a variety of different learning scenarios:
- multi-class classification, ROC, and Neyman-Pearson learning,
- least-squares, quantile, and expectile regression.
For questions and comments just contact us via mail. There you also can ask to be registerd to our mailing list.
liquidSVM is licensed under AGPL 3.0. In case you need another license, please contact me.
Installation instructions for the command line versions.
Terminal version for Linux/OS X | liquidSVM.tar.gz |
Terminal version for Windows (64bit) | avx2: liquidSVM.zip |
avx: liquidSVM.zip | |
sse2: liquidSVM.zip | |
Previous versions | v1.1 (June 2016), v1.0 (January 2016) |
On Linux and Mac on the terminal liquidSVM
can be used in the following way:
wget www.isa.uni-stuttgart.de/software/liquidSVM.tar.gz
tar xzf liquidSVM.tar.gz
cd liquidSVM
make all
scripts/mc-svm.sh banana-mc 1 2
Read the demo vignette for a tutorial on installing liquidSVM-package and how to use it and the documentation vignette for more advanced installation options and usage.
An easy usage is:
install.packages("liquidSVM")
library(liquidSVM)
banana <- liquidData('banana-mc')
model <- mcSVM( Y~. , banana$train, display=1, threads=2)
result <- test(model, banana$test)
errors(result)
Read the demo notebook for a tutorial on installing liquidSVM-package and how to use it and the homepage for more advanced installation options and usage.
To install use:
pip install --user liquidSVM
and then in Python you can use it e.g. like:
from liquidSVM import *
banana = LiquidData('banana-mc')
model = mcSVM(banana.train, display=1, threads=2)
result, err = model.test(banana.test)
The MATLAB bindings are currently getting a better interface, and this is a preview version.
It does currently not work on Windows.
For installation download the Toolbox liquidSVM.mltbx and install it in MATLAB by double clicking it. To compile and add paths issue:
makeliquidSVM native
Then you can use it like:
banana = liquidData('banana-mc');
model = svm_mc(banana.train, 'DISPLAY', 1, 'THREADS', 2);
[result, err] = model.test(banana.test);
Most of the code also works in Octave
if you use liquidSVM-octave.zip.
The main homepage is here.
For installation download liquidSVM-java.zip and unzip it.
The classes are all in package de.uni_stuttgart.isa.liquidsvm
and an easy example is:
LiquidData banana = new LiquidData("banana-mc");
SVM model = new MC(banana.train, new Config().display(1).threads(2));
ResultAndErrors result = model.test(banana.test);
If this is implemented in the file Example.java
this can be compiled and run using
# if you want to compile the JNI-native library:
make lib
# compile your Java-Code
javac -classpath liquidSVM.jar Example.java
# and run it
java -Djava.library.path=. -cp .:liquidSVM.jar Example
This is a preview version, see Spark for more details.
Download liquidSVM-spark.zip and unzip it.
Assume you have Spark
installed in $SPARK_HOME
you can issue:
make lib
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
$SPARK_HOME/bin/spark-submit \
--class de.uni_stuttgart.isa.liquidsvm.spark.App \
liquidSVM-spark.jar banana-mc
If you have configured Spark
to be used on a cluster with Hadoop
use:
hdfs dfs -put data/covtype-full.train.csv data/covtype-full.test.csv .
make lib
$SPARK_HOME/bin/spark-submit --files ../libliquidsvm.so \
--conf spark.executor.extraLibraryPath=. \
--conf spark.driver.extraLibraryPath=. \
--class de.uni_stuttgart.isa.liquidsvm.spark.App \
--num-executors 14 liquidSVM-spark.jar covtype-full
covertype data set with 35.090 training and 34.910 test samples
covertype data set with 522.909 training and 58.103 test samples
Both datasets were compiled from LIBSVM's version of the covertype dataset, which in turn was taken from the UCI repository and preprocessed as in [RC02a]. Copyright for this dataset is by Jock A. Blackard and Colorado State University.
If you use liquidSVM, please cite it as:
I. Steinwart and P. Thomann. liquidSVM: A fast and versatile SVM package. ArXiv e-prints 1702.06899, February 2017.