Кластерный анализ: выбор алгоритма кластеризации

Практика вопросов интервью по машинному обучению на Python

Lisa Stuart

Data Scientist

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

  • Признаков >> Наблюдений
  • Обучение модели усложняется
  • Основаны на вычислении расстояний
  • Наиболее распространённый метод обучения без учителя
Практика вопросов интервью по машинному обучению на Python

Практическое применение кластеризации

  • Сегментация клиентов
  • Классификация документов
  • Выявление мошенничества в страховании и транзакциях
  • Сегментация изображений
  • Обнаружение аномалий
  • И многое другое...
Практика вопросов интервью по машинному обучению на Python

Метрики расстояния: манхэттенское расстояние

Манхэттенский график

1 https://en.wikipedia.org/wiki/Taxicab_geometry
Практика вопросов интервью по машинному обучению на Python

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

График евклидова расстояния

1 http://rosalind.info/glossary/euclidean-distance/
Практика вопросов интервью по машинному обучению на Python

K-means

Шаги K-means

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

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

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

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
Практика вопросов интервью по машинному обучению на Python

Методы связи в агломеративной кластеризации

  • Метод Уорда
  • Полная связь
  • Средняя связь
  • Одиночная связь
Практика вопросов интервью по машинному обучению на Python

Выбор алгоритма кластеризации

Расстояния между кластерами

  • Оценка устойчивости кластеров
  • K-means и HC используют евклидово расстояние
  • Межкластерные и внутрикластерные расстояния

«Правильный выбор меры несходства куда важнее для успеха кластеризации, чем выбор самого алгоритма.» — из Elements of Statistical Learning

1 https://slideplayer.com/slide/8363774/
Практика вопросов интервью по машинному обучению на Python

Функции кластеризации

Функция/метод Возвращает
sklearn.cluster.Kmeans Алгоритм кластеризации K-means
sklearn.cluster.AgglomerativeClustering Алгоритм агломеративной кластеризации
kmeans.inertia_ Сумма квадратов расстояний наблюдений до ближайшего центра кластера
scipy.cluster.hierarchy as sch Иерархическая кластеризация для дендрограмм
sch.dendrogram() Функция построения дендрограммы
Практика вопросов интервью по машинному обучению на Python

Давайте потренируемся!

Практика вопросов интервью по машинному обучению на Python

Preparing Video For Download...