Кластеризація: вибір оптимальної кількості кластерів

Практика співбесід з Machine Learning у Python

Lisa Stuart

Data Scientist

Методи для оптимального k

  • Метод силуету
  • Метод «лікоть»
Практика співбесід з Machine Learning у Python

Коефіцієнт силуету

  • Складається з 2 оцінок
    • Середня відстань між кожним спостереженням та всіма іншими:
      • у тому самому кластері
      • у найближчому кластері
Практика співбесід з Machine Learning у Python

Значення коефіцієнта силуету

  • Між -1 і 1
    • 1
      • близько до інших у своєму кластері
      • дуже далеко від інших в інших кластерах
    • -1
      • не близько до інших у своєму кластері
      • близько до інших в інших кластерах
    • 0
      • означає перекриття кластерів
Практика співбесід з Machine Learning у Python

Оцінка силуету

Графік оцінки силуету

1 https://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html
Практика співбесід з Machine Learning у Python

Метод «лікоть»

Графік методу «лікоть»

1 https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/
Практика співбесід з Machine Learning у Python

Функції для вибору оптимального k

Функція/метод повертає
sklearn.cluster.KMeans алгоритм кластеризації K-Means
sklearn.metrics.silhouette_score оцінка між -1 і 1 як міра стабільності кластерів
kmeans.inertia_ сума квадратів відстаней до найближчого центроїда кластера
range(start, stop) список значень від start до, але не включно, stop
list.append(kmeans.inertia_) додає значення інерції до списку
Практика співбесід з Machine Learning у Python

Давайте потренуємось!

Практика співбесід з Machine Learning у Python

Preparing Video For Download...