Визуализация иерархий

Обучение без учителя на Python

Benjamin Wilson

Director of Research at lateral.io

Визуализации передают смысл

  • «t-SNE»: создаёт 2D-карту набора данных (рассмотрим позже)
  • «Иерархическая кластеризация» (это видео)
Обучение без учителя на Python

Иерархия групп

  • Живые организмы можно организовать в иерархию
  • Кластеры вложены друг в друга

 

Иерархическое дерево животных

Обучение без учителя на Python

Набор данных оценок Евровидения

  • Страны выставляли оценки песням на Евровидении 2016
  • Двумерный массив оценок
  • Строки — страны, столбцы — песни

 

Данные Евровидения

1 https://www.eurovision.tv/page/results
Обучение без учителя на Python

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

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

Обучение без учителя на Python

Иерархическая кластеризация

  • Каждая страна начинает в отдельном кластере
  • На каждом шаге два ближайших кластера объединяются
  • Процесс продолжается, пока все страны не окажутся в одном кластере
  • Это «агломеративная» иерархическая кластеризация
Обучение без учителя на Python

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

  • Читается снизу вверх
  • Вертикальные линии обозначают кластеры

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

Обучение без учителя на Python

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

  • Читается снизу вверх
  • Вертикальные линии обозначают кластеры

Один кластер иерархической кластеризации Евровидения

Обучение без учителя на Python

Дендрограммы: шаг за шагом

Один кластер иерархической кластеризации Евровидения

Обучение без учителя на Python

Дендрограммы: шаг за шагом

Один кластер иерархической кластеризации Евровидения с выделенным кластером Греции/Кипра

Обучение без учителя на Python

Дендрограммы: шаг за шагом

Один кластер иерархической кластеризации Евровидения с выделенным кластером Болгарии/Греции/Кипра

Обучение без учителя на Python

Дендрограммы: шаг за шагом

Один кластер иерархической кластеризации Евровидения с выделенным кластером Молдовы/России

Обучение без учителя на Python

Дендрограммы: шаг за шагом

Один кластер иерархической кластеризации Евровидения с выделенным кластером Молдовы/России/Армении

Обучение без учителя на Python

Дендрограммы: шаг за шагом

Объединение кластера Греции/Кипра/Болгарии с кластером Молдовы/России/Армении

Обучение без учителя на Python

Дендрограммы: шаг за шагом

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

Обучение без учителя на Python

Иерархическая кластеризация с SciPy

  • Дано: samples (массив оценок) и country_names
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import linkage, dendrogram

mergings = linkage(samples, method='complete')
dendrogram(mergings, labels=country_names, leaf_rotation=90, leaf_font_size=6) plt.show()
Обучение без учителя на Python

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

Обучение без учителя на Python

Preparing Video For Download...