Как запустить libsvm в MATLAB?

Как начать работу с libsvm под MATLAB?

Я загрузил библиотеку и извлек ее в C:Program FilesMATLABR2012atoolbox, но тогда я не знаю, как использовать его в MATLAB.

2 ответов


скачать и извлечь libsvm в каталоге по вашему выбору, скажем C:\libsvm

как описано в C:\libsvm\matlab\README файл, сначала вы должны убедиться, что поддерживаемый компилятор C/C++ это. Обратите внимание, что в 64-разрядных системах вам нужна правильная 64-разрядная версия компилятора (например, Windows SDK необходим для Visual Studio Express edition)

>> mex -setup

после того, как вы выбрали компилятор, вам нужно скомпилировать MEX-файлы:

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

наконец добавьте папку с сгенерированными двоичными файлами в путь поиска MATLAB:

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

Проверьте библиотеку на простом примере (поддельные данные):

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

обратите внимание, что текущая версия libsvm включает предварительно скомпилированные 64-разрядные MEX-файлы для Windows. Двоичные файлы расположены в C:\libsvm\windows\*.mexw64 (копия на matlab папку сверху)


для меня мне не нужно было перекомпилировать файлы libsvm (это вызвало некоторые проблемы с .net framwork и Windows SDK) я использовал только уже скомпилированные файлы и добавил их в новую папку, выполнив указанные шаги здесь минус шаг make.

Итак:

1-я думаю, вам нужно создать папку "libsvm" под "C:\Program файлы\MATLAB\R2014b\toolbox\".

2 - скопируйте *.mexw64 файлы из папка "libsvm-3.21\windows" в новую папку.

3 - наконец, добавьте папку libsvm, которую вы только что создали в MATLAB bath, нажав кнопку set path в home и добавив новую папку с путем "C:\Program файлы\MATLAB\R2014b\toolbox\libsvm"