2017-01-27 21 views
0

Я изучаю распознавание образов и статистику. Мне нравится использовать прямые функции в R, а не явно писать коды. Мой вопрос заключается в том, что в три класса 2-мерной задаче, мои векторы характеристик для каждого класса, как правило, распределяется с ковариационной матрицейРисование кривых расстояния Махаланобиса при указании вектор-функции в теории принятия решений Байеса в R

s <- matrix(c(1.2,0.4,0.4,8),nrow=2)
и средние векторы для каждого класса

m1 <- t(c(0.1, 0.1));m2 <- t(c(2.1, 1.9));m3 <- t(c(-1.5, 2.0))

Предполагая, что классы одинаково вероятны, Я хочу классифицировать вектор функций

x <- t(c(1.6,1.5))

в соответствии с Байесом Минимальный вероятностный классификатор вероятности, который я сделал успешно, и Теперь я хочу нарисовать кривые расстояния Махаланобис.

Я пробовал с mahalanobis(x, center, cov, inverted = FALSE, ...) функции в пределах {stats} упаковка. Но я запутался, потому что я уже имею в виду и var-cov матрицу в моей проблеме, и функция mahalanobis() не предоставляет возможности для моей проблемы! Или это так? я не знаю!

Просьба указать, пожалуйста, как рассчитать расстояние Махаланобис со ссылкой на мою проблему в частности и нарисовать кривые расстояния Махаланобиса. Заранее спасибо!

Образец выше задачи

enter image description here

ответ

0

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

dat <- iris[,-5] 
mahal <- mahalanobis(x = dat, center = colMeans(dat), cov = cov(dat)) 
+0

не могли бы вы пересмотреть вопрос. Я добавил изображение вопроса о экземпляре –