Наука о данных — матрица корреляции статистики


Корреляционная матрица

Матрица — это массив чисел, расположенных в строках и столбцах.

Матрица корреляции — это просто таблица, показывающая коэффициенты корреляции между переменными.

Здесь переменные представлены в первой строке и в первом столбце:

Корреляционная матрица

В приведенной выше таблице использовались данные из полного набора данных о состоянии здоровья.

Наблюдения:

  • Мы видим, что Продолжительность и Сжигание калорий тесно связаны с коэффициентом корреляции 0,89. Это имеет смысл, поскольку чем дольше мы тренируемся, тем больше калорий мы сжигаем.
  • Мы видим, что между Average_Pulse и Calorie_Burnage почти нет линейной зависимости (коэффициент корреляции 0,02).
  • Можем ли мы заключить, что Average_Pulse не влияет на Calorie_Burnage? Нет. Мы вернемся, чтобы ответить на этот вопрос позже!

Корреляционная матрица в Python

Мы можем использовать эту corr()функцию в Python для создания корреляционной матрицы. Мы также используем round()функцию для округления вывода до двух знаков после запятой:

Пример

Corr_Matrix = round(full_health_data.corr(),2)
print(Corr_Matrix)

Вывод:

Корреляционная матрица

Использование тепловой карты

Мы можем использовать тепловую карту для визуализации корреляции между переменными:

Тепловая карта корреляции

Чем ближе коэффициент корреляции к 1, тем зеленее становятся квадраты.

Чем ближе коэффициент корреляции к -1, тем более коричневыми становятся квадраты.


Используйте Seaborn для создания тепловой карты

Мы можем использовать библиотеку Seaborn для создания тепловой карты корреляции (Seaborn — это библиотека визуализации, основанная на matplotlib):

Пример

import matplotlib.pyplot as plt
import seaborn as sns

correlation_full_health = full_health_data.corr()

axis_corr = sns.heatmap(
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50, 500, n=500),
square=True
)

plt.show()

Объяснение примера:

  • Импортируйте библиотеку seaborn как sns.
  • Используйте набор full_health_data.
  • Используйте sns.heatmap(), чтобы сообщить Python, что мы хотим, чтобы тепловая карта визуализировала матрицу корреляции.
  • Используйте корреляционную матрицу. Определите максимальное и минимальное значения тепловой карты. Определите, что 0 является центром.
  • Определите цвета с помощью sns.diverging_palette. n=500 означает, что нам нужно 500 типов цветов в одной цветовой палитре.
  • Square = True означает, что мы хотим видеть квадраты.