У меня есть очень простой вопрос о кластеризации. После того, как я нашел k кластеров с их центроидами, как мне интерпретировать классы точек данных, которые я кластеризовал (назначая значимые метки классов каждому кластеру). Я не говорю о проверке найденных кластеров.
Можно ли это сделать с помощью небольшого набора точек данных, вычислить, к какому кластеру принадлежат эти маркированные точки и на основании типа и количества точек, которые получает каждый кластер, определить метку? Это кажется довольно очевидным, но я не знаю, насколько стандартно назначать метки кластерам таким образом.
Чтобы было ясно, я хочу выполнить кластеризацию без контроля, которая не использует никаких меток, чтобы сначала найти мои кластеры. Затем, найдя кластеры, я хочу назначить значимые метки классов кластерам на основе свойств нескольких примеров точек данных.
Ответы:
Да. То, что вы предлагаете, является полностью стандартным, и именно так стандартное программное обеспечение k-means работает автоматически. В случае k-средних вы вычисляете евклидово расстояние между каждым наблюдением (точкой данных) и средним значением каждого кластера (центроид) и назначаете наблюдения наиболее похожему кластеру. Затем метка кластера определяется путем изучения того, что средние характеристики наблюдений классифицированы для кластера относительно средних значений тех, которые относятся к другим кластерам.
источник
Если вы посмотрите на имена в вашем объекте kmeans, вы заметите, что существует объект «кластера». Он содержит метки классов, упорядоченные так же, как ваши входные данные. Вот простой пример, который привязывает метки кластера к вашим данным.
источник
Метки для кластера могут основываться на классе основных выборок в кластере. Но это верно только в том случае, если количество кластеров равно количеству классов.
источник