Визуализация корреляционной матрицы с помощью heatmap в Seaborn
Визуализация корреляционной матрицы с использованием тепловой карты (heatmap
) в библиотеке Seaborn позволяет понять, как связаны различные переменные в наборе данных. Корреляционная матрица показывает коэффициенты корреляции между переменными, обычно от -1 до 1, где значения ближе к 1 или -1 указывают на сильную положительную или отрицательную корреляцию соответственно.
Пример создания корреляционной матрицы и её визуализация с помощью heatmap
в Seaborn
heatmap
в SeabornДля начала, давайте создадим пример корреляционной матрицы на основе случайных данных.
Разбор кода:
Импорт необходимых библиотек:
numpy
для создания случайных чисел.pandas
для работы с данными в формате DataFrame.seaborn
иmatplotlib.pyplot
для визуализации данных.
Генерация случайных данных:
Используется
np.random.rand
для генерации массива случайных чисел с равномерным распределением. В этом примере создаётся массив размером 10x5, который затем преобразуется вDataFrame
с 5 столбцами.
Рассчёт корреляционной матрицы:
Метод
df.corr()
из библиотекиpandas
используется для вычисления корреляционной матрицы для всех пар столбцов в DataFrame. По умолчанию используется корреляция Пирсона.
Визуализация корреляционной матрицы с помощью
heatmap
:Функция
sns.heatmap()
из Seaborn используется для создания тепловой карты:annot=True
добавляет числовые значения корреляций на карте.cmap='coolwarm'
определяет цветовую палитру (здесь используется палитра от холодных цветов к теплым).fmt=".2f"
указывает формат отображения чисел (до двух знаков после запятой).linewidths=0.5
задаёт ширину линий сетки между ячейками тепловой карты.
Функция
plt.figure(figsize=(8, 6))
устанавливает размер фигуры.plt.show()
отображает график.
Дополнительные настройки heatmap
:
heatmap
:Изменение цветовой палитры:
Можно использовать другие встроенные палитры, такие как
'viridis'
,'inferno'
,'Blues'
,'Greens'
, и т.д., или создавать пользовательские палитры.
Маскирование верхнего треугольника корреляционной матрицы:
Поскольку корреляционная матрица симметрична, можно визуализировать только нижний (или верхний) треугольник для упрощения.
Здесь
np.triu()
создаёт маску для верхнего треугольника, что позволяет визуализировать только нижнюю часть матрицы.
В итоге, тепловая карта корреляционной матрицы предоставляет наглядный способ увидеть отношения между переменными и помогает в обнаружении паттернов и взаимосвязей в данных.
Last updated