Поиск по сайту:

Иерархически-кластеризованная тепловая карта в 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 предлагает гибкость и возможности настройки, позволяя пользователям настраивать цветовую схему, ширину линий, размер рисунка и соотношение дендрограмм в соответствии со своими предпочтениями.

Статьи по данной тематике: