У меня есть матрица X
с 3 колонками. Для пористого вопроса X=randn(5,3)
. Я хочу нормализовать столбцы X
S.T. каждая колонка будет иметь значение 0
и 1
std. Я использую следующий код:Неверные значения std и ожидаемые значения
X=(X-mean(X))./std(X);
Я получаю зЬй из 1
. Мое значение, однако, очень небольшое значение, близкое к 0
, но не обязательно 0
. Я пытался играть немного с числами, чтобы найти объяснение:
X=1:15;
X=reshape(X,[5 3]);
mean(X-mean(X));
Который дает мне 0
значение для каждого столбца.
X=1:15;
X=reshape(X,[5 3]);
mean((X-mean(X))./std(X));
Какой нет. Но 0/что-то еще 0. Что мне не хватает?
- Почему я не получаю
0
значений? - Являются ли значения, которые я получаю достаточно для нормализации алгоритма предварительного кластеризации?
Вы действительно уверены, что написали код, который используете правильно? Копирование того, что у вас есть, дает ошибку несоответствия матрицы ... Среднее значение возвращает среднее значение для каждой строки, поэтому значение «X-mean (X)» недействительно ... – Philip
Проверьте, есть ли локальные файлы, реализующие 'mean' и' std'. – Rotem
@Philip Я уверен в коде. Я просто копирую и вставляю для проверки. 'mean (X)' дает строку со средним значением для каждого столбца. «X-mean (X)» вычитает среднее значение каждого столбца из каждого столбца. – havakok