масштабирование тестовых данных для LIBSVM: реализация MATLAB

В настоящее время я использую версию MATLAB машины опорных векторов LIBSVM для классификации моих данных. В документации LIBSVM упоминается, что масштабирование перед применением SVM очень важно, и мы должны использовать один и тот же метод для масштабирования как обучающих, так и тестовых данных.

«Тот же метод масштабирования» объясняется как: Например, предположим, что мы масштабировали первый атрибут обучающих данных с [-10, +10]до [-1, +1]. Если первый атрибут тестовых данных лежит в диапазоне [-11, +8], мы должны масштабировать тестовые данные до [-1,1, +0,8]

Масштабирование обучающих данных в диапазон [0,1]может быть выполнен с использованием следующего кода MATLAB:

(data - repmat(min(data,[],1),size(data,1),1))*spdiags(1./(max(data,[],1)-min(data,[],1))',0,size(data,2),size(data,2))

Но я не знаю, как правильно масштабировать данные тестирования.

Большое спасибо за помощь.

10
задан AGS 8 March 2013 в 19:17
поделиться