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

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

Lisa Stuart

Data Scientist

Алгоритми кластеризації

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

Практичні застосування кластеризації

  • Сегментація клієнтів
  • Класифікація документів
  • Виявлення шахрайства у страхуванні/транзакціях
  • Сегментація зображень
  • Виявлення аномалій
  • Та багато іншого...
Практика співбесід з Machine Learning у Python

Міри відстані: манґеттенська (таксі) відстань

Графік Манґеттена

1 https://en.wikipedia.org/wiki/Taxicab_geometry
Практика співбесід з Machine Learning у Python

Міри відстані: евклідова відстань

Евклідова схема

1 http://rosalind.info/glossary/euclidean-distance/
Практика співбесід з Machine Learning у Python

K-means

Кроки K-means

  1. Початкові центроїди
  2. Призначте кожне спостереження до найближчого центроїда
  3. Оновіть центроїди
  4. Повторюйте кроки 2 і 3
1 http://sherrytowers.com/2013/10/24/k-means-clustering/
Практика співбесід з Machine Learning у Python

Ієрархічна агломеративна кластеризація

Дендограма ієрархічної кластеризації

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
Практика співбесід з Machine Learning у Python

Зв'язування в агломеративній кластеризації

  • Зв'язування за Варду
  • Максимальне/повне зв'язування
  • Середнє зв'язування
  • Одиночне зв'язування
Практика співбесід з Machine Learning у Python

Вибір алгоритму кластеризації

Відстані між кластерами

  • Оцінка стабільності кластерів
  • K-means і HC використовують евклідову відстань
  • Між- і внутрішньокластерні відстані

«Відповідна міра несхожості набагато важливіша для успіху кластеризації, ніж вибір алгоритму кластеризації.» - із Elements of Statistical Learning

1 https://slideplayer.com/slide/8363774/
Практика співбесід з Machine Learning у Python

Функції для кластеризації

Функція/метод повертає
sklearn.cluster.Kmeans алгоритм кластеризації K-Means
sklearn.cluster.AgglomerativeClustering агломеративний алгоритм кластеризації
kmeans.inertia_ сума квадратів відстаней до найближчого центру кластера
scipy.cluster.hierarchy як sch ієрархічна кластеризація для дендограм
sch.dendrogram() функція дендограми
Практика співбесід з Machine Learning у Python

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

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

Preparing Video For Download...