Code Monkey home page Code Monkey logo

General Information

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.

Command Line interface

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

R

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)

Python

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)

MATLAB / Octave

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.

Java

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

Spark

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

Extra Datasets for the Demo

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.

Citation

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.

liquidsvm's Projects

liquidsvm icon liquidsvm

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, full flexibility for experts, and inclusion of a variety of different learning scenarios: multi-class classification, ROC, and Neyman-Pearson learning, and least-squares, quantile, and expectile regression.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.