Как создать тепловую карту корреляции треугольников в seaborn - Python?

Опубликовано: 1 Декабря, 2021

Seaborn - это библиотека Python, основанная на matplotlib и используемая для визуализации данных. Он обеспечивает среду для представления данных в формате статистического графика в качестве информативной и привлекательной среды для передачи некоторой информации. Тепловая карта - это один из компонентов, поддерживаемых seaborn, где изменение связанных данных отображается с помощью цветовой палитры. В этой статье основное внимание уделяется корреляционной тепловой карте и тому, как использовать seaborn в сочетании с pandas и matplotlib для создания карты для фрейма данных.

Монтаж

Как и любую другую библиотеку Python, seaborn можно легко установить с помощью pip:

 pip install seaborn

Эта библиотека является частью дистрибутива Anaconda и обычно работает только путем импорта, если ваша IDE поддерживается Anaconda, но ее также можно установить с помощью следующей команды:

 conda установить seaborn

Тепловая карта корреляции треугольников

Тепловая карта корреляции - это тепловая карта, которая показывает двумерную матрицу корреляции между двумя дискретными измерениями с использованием цветных ячеек для представления данных обычно в монохроматическом масштабе. Значения первого измерения отображаются в виде строк таблицы, а второго измерения - в виде столбца. Цвет ячейки пропорционален количеству измерений, соответствующих размерному значению. Это делает корреляционные тепловые карты идеальными для анализа данных, поскольку они делают шаблоны легко читаемыми и подчеркивают различия и вариации в одних и тех же данных. Корреляционная тепловая карта, как и обычная тепловая карта, поддерживается цветной полосой, делающей данные легко читаемыми и понятными.

Тепловая карта корреляции - это прямоугольное представление данных, которое повторяет одно и то же описание данных дважды, потому что категории повторяются на обеих осях для вычисления анализа. Следовательно, один и тот же результат получается дважды. Тепловая карта корреляции, которая представляет данные только один раз без повторения, т. Е. Категории коррелируются только один раз, называется тепловой картой треугольной корреляции. Поскольку данные симметричны по диагонали слева направо вниз, идея получения тепловой карты корреляции треугольников состоит в том, чтобы удалить данные над ними, чтобы они отображались только один раз. Элементы на диагонали - это части, в которых соотносятся однотипные категории.

Для построения тепловой карты будет использован метод модуля seaborn. Вместе с этой маской будет передан аргумент. Маска - это атрибут тепловой карты, который принимает в качестве аргумента фрейм данных или логический массив и отображает только те позиции, которые помечены как Ложь или для которых предусмотрена маскировка как Ложь.

Синтаксис:

heatmap(data, vmin, vmax, center, cmap,……………………………………………………)

За исключением данных, все остальные атрибуты являются необязательными, и данные, очевидно, будут данными для построения графика. Данные здесь необходимо передать с помощью метода corr () для создания тепловой карты корреляции. Кроме того, сама corr () удаляет столбцы, которые не будут использоваться при создании тепловой карты корреляции, и выбирает те, которые можно использовать.

Для маскировки здесь создается массив с использованием NumPy, как показано ниже:

 np.triu (np.ones_like ())

Во-первых, метод ones_like () модуля NumPy сгенерирует массив такого же размера, как и размер наших данных, которые будут построены, и содержащий только номер один. Затем метод triu () модуля NumPy превратит сформированную таким образом матрицу в верхнюю треугольную матрицу, то есть элементы над диагональю будут равны 1 и ниже, а на ней будут равны 0. Маскировка будет применена к местам, где 1 (True ) установлен.

Следующие шаги показывают, как можно создать тепловую карту корреляции треугольников:

  • Сначала импортируйте все необходимые модули
  • Импортируйте файл, в котором хранятся ваши данные
  • Постройте тепловую карту
  • Замаскируйте ту часть тепловой карты, которая не должна отображаться
  • Отобразите его с помощью matplotlib

Пример 1:

В приведенном ниже примере используется набор данных, загруженный с kaggle.com. На графике показаны данные, относящиеся к романам-бестселлерам Amazon.

Используемый набор данных - бестселлеры

Python3

# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
import numpy as np
# import file with data
data = pd.read_csv( "C:\Users\Vanshi\Desktop\gfg\bestsellers.csv" )
# creating mask
mask = np.triu(np.ones_like(data.corr()))
# plotting a triangle correlation heatmap
dataplot = sb.heatmap(data.corr(), cmap = "YlGnBu" , annot = True , mask = mask)
# displaying heatmap
mp.show()

Выход:

Пример 2:

Набор данных, используемый в этом примере, представляет собой набор данных космических исследований экзопланет, собранный НАСА.

Используемый набор данных - совокупный

Python3

# import modules
import matplotlib.pyplot as mp
import pandas as pd
import seaborn as sb
import numpy as np
# import file with data
data = pd.read_csv( "C:\Users\Vanshi\Desktop\gfg\cumulative.csv" )
# applying mask
mask = np.triu(np.ones_like(data.corr()))
# plotting a triangle correlation heatmap
dataplot = sb.heatmap(data.corr(), mask = mask)
# displaying heatmap
mp.show()

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.