Я занимаюсь разработкой кода кластеризации с помощью k-средних и у меня возникает следующий вопрос: можно ли определить предельные значения для каждого кластера с помощью k-средних или другого алгоритма?
Лучше объяснить случай в Код ниже у меня есть два предопределенных центроида и 12 очков. После выполнения k-средних у нас есть 8 очков на центроиде 0 и 4 балла на центроиде 1.
from sklearn.cluster import KMeans
import numpy as np
#Centroids:
refs = [[-22.87042313, -43.33995681], [-22.91265768, -43.23596109]]
kmeans_model = KMeans(n_clusters=len(refs), random_state=0).fit(refs)
ref_labels = kmeans_model.labels_
centroids = kmeans_model.cluster_centers_
#Points:
points = [[-22.8595871, -43.2385504], [-23.0144844, -43.4727984], [-22.8727929, -43.4082954],
[-22.9478637, -43.3652225], [-22.8213579, -43.1740529], [-22.9592171, -43.3508173],
[-22.8236928, -43.3203929], [-22.9027656, -43.3541462], [-22.8749724, -43.5034297],
[-22.8456399, -43.2840653], [-22.8893855, -43.2424886], [-22.8499984, -43.2564374]]
#Clustering:
kmeans_model.predict(points)
Output: array([1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1], dtype=int32)
Могу ли я определить, сколько очков может получить каждый центроид?
Например:
центроид 0 = 4 балла
центроид 1 = 3 балла
Запуск k-средних ...
Вывод, например: [1,0,0,0,1,0,NA,NA,NA,NA,1,NA]