Опубликовано сб, 06/19/2021 - 18:49 пользователем Ksenia
Целевая функция чем меньше, тем лучше.
Для метода k-средних она уменьшается при увеличениии количества кластеров.
distortion = []
N = range(1, 8)
for n in N:
model = KMeans(n_clusters=n, random_state=5678)
model.fit(df)
distortion.append(model.inertia_)
На графике виден будет "локоть" - момент выхода на плато - оптимальное число кластеров
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
plt.plot(N, distortion, 'bx-')
...