windowsmatlabsvmlibsvm

How to run libsvm in MATLAB?


How to get started with libsvm under MATLAB?

I've downloaded the library, and extracted it in C:\Program Files\MATLAB\R2012a\toolbox\, but then I don't know how to use it in MATLAB.


Solution

  • Download and extract libsvm in a directory of your choosing, say C:\libsvm

    As described in the C:\libsvm\matlab\README file, first you have to make sure a supported C/C++ compiler is installed. Note that on 64-bit systems, you need the correct 64-bit version of the compiler (e.g. Windows SDK is needed for Visual Studio Express edition)

    >> mex -setup
    

    Once you have selected a compiler, you need to compile the MEX-files:

    >> cd('C:\libsvm\matlab')
    >> make
    

    Finally add the folder with the generated binaries to the MATLAB search path:

    >> addpath('C:\libsvm\matlab')
    

    Test the library with a simple example (fake data):

    >> labels = double(rand(10,1)>0.5);
    >> data = rand(10,5);
    >> model = svmtrain(labels, data, '-s 0 -t 2 -c 1 -g 0.1')
    

    Note that the current version of libsvm includes pre-compiled 64-bit MEX-files for Windows. The binaries are located in C:\libsvm\windows\*.mexw64 (copy those to the matlab subfolder from above)