Иерархически-кластеризованная тепловая карта в Python с Seaborn Clustermap
При анализе и визуализации данных иерархически кластеризованные тепловые карты предоставляют мощный инструмент для выявления закономерностей и взаимосвязей в сложных наборах данных. В этой статье рассказывается, как создать иерархически кластеризованную тепловую карту с помощью Seaborn Clustermap в Python.
Чтобы помочь вам понять этот процесс, мы шаг за шагом проведем вас через процедуру, используя примеры кода. Мы проинструктируем вас, как кластеризовать и визуализировать данные, это предоставит вам важную информацию о взаимосвязи между каждой переменной.
Что такое иерархически-кластеризованная тепловая карта в Python с кластерной картой Seaborn?
Иерархически-кластеризованная тепловая карта — это метод визуализации, используемый для отображения матрицы данных в формате тепловой карты, а также включающий иерархическую кластеризацию. В Python библиотека Seaborn предоставляет полезный инструмент Clustermap, который позволяет создавать иерархически кластеризованные тепловые карты.
Вы когда-нибудь работали с большим и сложным набором данных и вам было трудно выявить закономерности или связи в данных? Если да, то вы не одиноки. Это может оказаться непростой задачей, требующей много времени и усилий. Именно здесь задействованы иерархические кластеры. Этот метод облегчает организацию строк и столбцов тепловой карты по их сходству, это позволит нам лучше понять взаимосвязь между различными частями данных.
В результате получается тепловая карта, которая не только выглядит привлекательно, но и оказывает существенное влияние на базовую структуру данных. Объединив строки и столбцы, мы можем определить, как они группируются в группы или семейства похожих объектов. Это облегчает выявление тенденций и связей, которые не сразу очевидны из необработанных данных.
Построение иерархически-кластеризованной тепловой карты в Python с помощью Seaborn Clustermap
Ниже приведены шаги, которые мы будем выполнять для построения иерархически-кластеризованной тепловой карты в Python с помощью Seaborn Clustermap.
Импортируйте необходимые библиотеки –
Импортируйте библиотеку Seaborn, используя `import seaborn as sns`
При желании импортируйте библиотеку Matplotlib для дополнительной настройки, используя `import matplotlib.pyplot as plt`.
Загрузите или подготовьте набор данных —
Загрузите набор данных, который хотите визуализировать, с помощью `sns.load_dataset()` или подготовьте свой собственный набор данных в подходящем формате.
Предварительная обработка данных (если требуется) –
Выполните все необходимые шаги предварительной обработки данных, такие как изменение формы или агрегирование данных, чтобы создать матрицу, подходящую для визуализации тепловой карты.
Создайте кластерную тепловую карту —
Используйте функцию `sns.clustermap()`, передав предварительно обработанную матрицу данных в качестве входных данных.
-
Укажите любые дополнительные параметры для настройки внешнего вида, например карту цветов (параметр `cmap`) или метод кластеризации (параметр `method`).
Отобразить тепловую карту —
Используйте `plt.show()` для отображения тепловой карты, если вы импортировали библиотеку Matplotlib на шаге 1.
Пример
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# Load the inbuilt dataset
data = sns.load_dataset("flights")
# Data preprocessing
data_pivot = data.pivot("month", "year", "passengers")
# Data analysis
monthly_totals = data.groupby("month")["passengers"].sum()
yearly_totals = data.groupby("year")["passengers"].sum()
# Data processing
processed_data = data_pivot.div(monthly_totals, axis=0)
# Create the clustered heatmap using seaborn clustermap
sns.clustermap(processed_data, cmap="YlGnBu")
# Display the heatmap
plt.show()
Выход
Настраиваемая иерархически кластеризованная тепловая карта в Python с помощью Seaborn Clustermap
Мы создаем иерархически-кластеризованную тепловую карту, используя функцию Clustermap() от Seaborn, передавая матрицу Pivot_data в качестве входных данных.
Мы указываем цветовую карту как «YlGnBu», используя параметр cmap.
Предусмотрены дополнительные возможности настройки:
linewidths=0,5: устанавливает ширину линий в дендрограммах.
figsize=(8, 6): Устанавливает размер результирующей фигуры тепловой карты.
dendrogram_ratio=(0.1, 0.2): регулирует соотношение высот дендрограмм.
Настройте тепловую карту
-
Мы используем стандартные функции Matplotlib для дальнейшей настройки тепловой карты. В этом примере мы устанавливаем заголовок с помощью plt.title() и маркируем оси X и Y с помощью plt.xlabel() и plt.ylabel() соответственно.
Пример
import seaborn as sns
# Load the inbuilt dataset
data = sns.load_dataset("flights")
# Pivot the data to create a matrix for the heatmap
pivot_data = data.pivot("month", "year", "passengers")
# Create the clustered heatmap using seaborn clustermap
sns.clustermap(pivot_data, cmap="YlGnBu", linewidths=0.5, figsize=(8, 6), dendrogram_ratio=(0.1, 0.2))
# Customize the heatmap
plt.title("Hierarchically-clustered Heatmap - Flights Data")
plt.xlabel("Year")
plt.ylabel("Month")
# Display the heatmap
plt.show()
Выход
Заключение
В заключение в этой статье было рассмотрено создание иерархически-кластеризованных тепловых карт в Python с использованием Seaborn Clustermap. Следуя описанным шагам, можно легко визуализировать сложные наборы данных и выявить закономерности и взаимосвязи внутри данных.
Функция кластерной карты библиотеки Seaborn предлагает гибкость и возможности настройки, позволяя пользователям настраивать цветовую схему, ширину линий, размер рисунка и соотношение дендрограмм в соответствии со своими предпочтениями.