махаланобисовое расстояние в кластерах Kmeans с использованием OpenCV - PullRequest
6 голосов
/ 28 февраля 2012

Я выполнил кластеризацию Kmeans и обнаружил центры кластеров, используя OpenCV C ++ API.

kmeans(data_points, clusterCount, labels, TermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 10, 1.0), 3, KMEANS_PP_CENTERS, cluster_centers);

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

int distance = find_EucledianDist(new_datapoint, cluster_centers);

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

Однако, я не знаю, как мне это сделать и в каком порядке (найти коварную матрицу, инвертированная матрица которых данные / матрица)?

1 Ответ

3 голосов
/ 28 февраля 2012
...