Изучение корреляции в Python

Опубликовано: 25 Июля, 2021

Эта статья призвана дать лучшее понимание очень важной техники многомерного исследования.

Матрица корреляции - это, по сути, ковариационная матрица. Также известна как матрица автоковариации, матрица дисперсии, матрица дисперсии или матрица дисперсии-ковариации. Это матрица, в которой позиция ij определяет корреляцию между i- м и j- м параметром данного набора данных.

Когда точки данных следуют примерно прямолинейному тренду, считается, что переменные имеют примерно линейную зависимость. В некоторых случаях точки данных падают близко к прямой линии, но чаще наблюдается небольшая изменчивость точек вокруг прямолинейного тренда. Суммарный показатель, называемый корреляцией, описывает силу линейной связи. Корреляция суммирует силу и направление линейной (прямой) связи между двумя количественными переменными. Обозначается r , принимает значения от -1 до +1. Положительное значение для r указывает на положительную связь, а отрицательное значение для r указывает на отрицательную связь.
Чем ближе r к 1, тем ближе точки данных падают к прямой линии, таким образом, линейная связь сильнее. Чем ближе r к 0, тем слабее линейная связь.

Чтобы получить ссылку на данные House_price, щелкните здесь.

Загрузка библиотек




import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import norm

Загрузка данных




data = pd.read_csv( "House Price.csv" )
data.shape

Выход:

(1460, 81)

"Цена продажи" Описание




data[ 'SalePrice' ].describe()

Выход:

кол 1460.000000
среднее 180921.195890
std 79442.502883
мин. 34900.000000
25% 129975.000000
50% 163000.000000
75% 214000.000000
макс 755000.000000
Имя: SalePrice, dtype: float64

Гистограмма




plt.figure(figsize = ( 9 , 5 ))
data[ 'SalePrice' ].plot(kind = "hist" )

Выход:

Код # 1: Корреляционная матрица




corrmat = data.corr()
  
f, ax = plt.subplots(figsize =(9, 8))
sns.heatmap(corrmat, ax = ax, cmap ="YlGnBu", linewidths = 0.1)

Выход:

Код # 2: Матрица корреляции сетки




corrmat = data.corr()
cg = sns.clustermap(corrmat, cmap = "YlGnBu" , linewidths = 0.1 );
plt.setp(cg.ax_heatmap.yaxis.get_majorticklabels(), rotation = 0 )
cg

Выход:

Код № 3: Корреляция цены продажи




# saleprice correlation matrix
# k : number of variables for heatmap
k = 15
cols = corrmat.nlargest(k, 'SalePrice' )[ 'SalePrice' ].index
cm = np.corrcoef(data[cols].values.T)
f, ax = plt.subplots(figsize = ( 12 , 10 ))
sns.heatmap(cm, ax = ax, cmap = "YlGnBu" ,
linewidths = 0.1 , yticklabels = cols.values,
xticklabels = cols.values)

Выход:

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

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