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)
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)
For me I didn't need to recompile the libsvm files(it did cause some problems with the .net framwork and windows SDK) I only used the already compiled files and added them to a new folder by following the steps mentioned here minus the make step.
So to summarize:
1- I think you need to create "libsvm" folder under "C:\Program Files\MATLAB\R2014b\toolbox\".
2- Then copy the *.mexw64 files from the "libsvm-3.21\windows" folder to the new folder.
3- finally add the libsvm folder you just created to matlab bath by clicking the set path button in home and adding the new folder with the path "C:\Program Files\MATLAB\R2014b\toolbox\libsvm"
Videos
For the time being, it does not matter where you put that folder. You'll have to compile the Matlab-MEX files, from the source code that resides in the matlab subfolder of your extracted libsvm package.
Below, I will call the libsvm-3.14 (for example: C:\libsvm-3.14) extracted folder ROOT (so replace ROOT wilth C:\libsvm-3.14 below).
So, fire up Matlab and, then, at its command prompt, type:
cd ROOT
cd matlab
make
Now, in the ROOT/matlab folder, you should have obtained two MEX files (with the .mexw32 or .mexw64 extension). These are the files that you will use from now on. You can discard the rest, except those files (and, maybe, some other generated libraries).
According to the Makefile (that is ROOT/matlab/make.m), the MEX files are called svmtrain and svmpredic (+ the extension).
So, next step would be to create a subfolder called libsvm/ under your's Matlab/toolbox folder, copy the two MEX files therein and, then, add that libsvm/ folder to the Matlab Path (not the Path of your system, but of your Matlab installation).
Then, by typing:
svmtrain
and
svmpredict
you should have the help (usage) of these two functions.
With the aid of @axeoth, here is the solution. I followed instruction files in matlab subfolder of extracted libsvm package. I downloaded and installed Microsoft Visual Studio 2010 and wrote 'mex -setup' on command window of MATLAB to choose a suitable compiler for mex (I use MATLAB R2012b in 32-bit PC, so I found supported compilers in this link http://www.mathworks.com/support/compilers/R2012b/win64.html) After then, I followed @axeoth's instructions. I changed the name of the folder to ROOT and moved it to Documents/MATLAB. I started MATLAB and on command window, I wrote these below "one by one"
>> cd C:\Users\HUstat\Documents\MATLAB\ROOT\matlab
>> cd matlab
>> make
then I copied everything obtained in ROOT/matlab subfolder. I created a new folder named libsvm under MATLAB/toolbox folder and pasted everything there. and then, I added that libsvm/ folder to the Matlab Path by using "Set Path" button on MATLAB R2012b. After then I wrote "svmtrain" and "svmpredict" so I got the helps of these two commands.
i had the same error of '...\BIN\MEX.PL: Error: 'libsvmread.c' not found.'
I navigated to the '...\libsvm-3.12\matlab' directory, in Matlab, and I was able to compile it.
(double-click in the 'Current Folder' window until you are inside the '...\libsvm-3.12\matlab' folder, or type the folder name into the 'Current Folder' bar at the top of Matlab.
Edit: FYI I was using Matlab 2012a
I finally understand how to use libsvm matlab ROC tool on my pc. Here is the information of my pc:
(1) Window 7
(2) Matlab 2008a and Matlab2010
Resolution summery:
(1) Extract libsvm-3.12 package to anywhere you like.
(2) If you use window as I, skip the "make" command. Just copy everything under
libsvm-3.12/libsvm-3.12/windows to your directory of Matlab. Ex, my matlab is at
C:\Users\Cassie\Documents\matlab2010\bin
Put everything there.
(3) Directly use them via your matlab prompt such as
>> [a,b] = libsvmread('heart-scale');
I shouldn't have to execute "make" or "mex -setup" at all. In addition, I need to put all files from libsvm-3.12/windows to my matlab folder directly. I hope some newbie as I can also benefit from my experience.