Сравнение различных способов реализации метода локтя - PullRequest
0 голосов
/ 25 мая 2018

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

Один метод описан здесь Sklearn kmeans эквивалентнометод локтя и использует kmeans_inertia_ другие методы описаны здесь https://pythonprogramminglanguage.com/kmeans-elbow-method/ и использует следующую команду.

distortions.append(sum(np.min(cdist(X, kmeanModel.cluster_centers_, 'euclidean'), axis=1)) / X.shape[0]) Мне интересно, что делает Kmeans_inertia_?и правильны ли оба варианта?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Читая документацию для KMeans , вы можете видеть, что как искажение, так и инерция являются суммой расстояния для каждой точки до ее центра.

0 голосов
/ 25 мая 2018

Не существует «правильного» для чего-то, что совсем не определено.

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

Предполагается, что оба метода чаще всего приводят к одному и тому же k ...

Но, исходя из концепции k-средних, "правильный" способ использовать его с квадратом ошибок, не с евклидовым расстоянием.Поскольку k-means минимизирует квадратичные ошибки, оно не минимизирует евклидовы расстояния (попробуйте доказать это! Вы не можете этого сделать, потому что существуют контрпримеры).

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