нормализовать файл в MatLab - PullRequest
       30

нормализовать файл в MatLab

1 голос
/ 11 октября 2011

У меня есть файл mat со структурой, которая выглядит следующим образом:

enter image description here

Как нормализовать данные и сохранить их как файл .dat (ascii)

Ответы [ 2 ]

5 голосов
/ 11 октября 2011

Я предполагаю, что вы хотите нормализовать каждый столбец.

Существует два способа нормализации:

(1) Установите минимум на 0 и максимум на 1

dataset = bsxfun(@minus,dataset,min(dataset));
dataset = bsxfun(@rdivide,dataset,max(dataset));

(2) Установите среднее значение на ноль, стандартное отклонение на 1 (если у вас нет набора инструментов статистики, используйте mean и std для вычитания и деления соответственно, как указано выше).

dataset = zscore(dataset); 

EDIT

Почему кто-либо использует вариант 2 для нормализации?

Когда вы вычисляете разницу (различие) между различными точками данных, вы можете взвесить разные измерения одинаково. Поскольку измерения с большой дисперсией будут доминировать в показателе различий, вы нормализуете дисперсию до единицы.

0 голосов
/ 11 октября 2011

Ваша нормализация:

dataset = dataset-ones(size(dataset,1),1)*min(dataset) % subtract min
dataset = dataset ./ (ones(size(dataset,1),1)*max(dataset)+eps) % divide by max
...