k пример классификатора ближайшего соседа, код Matlab, найденный в mathworks, не может понять - PullRequest
2 голосов
/ 25 ноября 2011

Я понял первый пример, который они привели, потому что они четко объяснили, что происходит в каждой строке.Но для второго примера, который обычно используется на практике чаще всего, не объясняется, и я с трудом пытаюсь его понять :(. Ниже приведены строки кода, которые имеют проблемы с

* 1002.*

и

sample = unifrnd(-5, 5, 100, 2);

и это ссылка -> http://www.mathworks.in/help/toolbox/bioinfo/ref/knnclassify.html

Может кто-нибудь объяснить это, поскольку это будет полезно не только для меня, но и для всех остальных, какхорошо.

1 Ответ

2 голосов
/ 25 ноября 2011

В первой строке сайта, который вы размещаете, строится обучающий набор векторов, составленный из многомерного нормального распределения, центрированный вокруг [1 1] и [-1 -1] соответственно, со стандартными отклонениями 1 и 1 для сигмых и сигма у для первого класса и 2 и 2 для сигмы х и сигма у для второго класса.Возьмите 100 из этих векторов для каждой группы (или класса).

Затем вы строите вектор группы, который содержит метки группы: первые 100 относятся к классу 1 (repmat(1,100,1) фактически совпадает с ones(100,1)) и вторые 100 относятся к классу 2 (repmat(2,100,1) == ones(100,1)*2).

Второй кусок кода, который вы цитируете, фактически просто генерирует матрицу, содержащую 100 случайных строк данных, все в диапазоне [-5, 5], имеющем2 размера (так 2 столбца).Эта матрица используется для проверки классификации.

Вы также можете использовать привычку matlab help или doc для функций, которые вы не знаете / не понимаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...