파이썬으로 데이터 분석하기 (11)

Stella Park·2021년 9월 14일
0

PYTHON

목록 보기
11/14
post-thumbnail

주류데이터 상관관계 분석하기
주류 데이터의 각 특성에 대해서 상관계수를 계산하고, 이를 seaborn의 heatmap과 pairplot을 통해서 시각화해보기

(1) 필요한 패키지 설치

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

(2) 피처간의 상관계수 행렬 구하기

cols = ['beer_servings', 'spirit_servings', 'wine_servings', 'total_litres_of_pure_alcohol'] #주류데이터 열 이름들입니다
corr = drink_df[cols].corr(method = 'pearson')
corr

Pearson은 상관계수를 구하는 계산 방법 중 하나를 의미하며, 가장 널리 쓰이는 방법입니다.

(3) heatmap의 입력을 만들어주기 위해서 상관계수 값에 .values를 적용시키고, 히트맵 차트의 x,y축에 레이블을 달아주기 위한 리스트를 만들기

corr.values
column_names = ['beer', 'spirit', 'wine', 'alcohol']

(4) Heatmap으로 시각화

import seaborn as sns
import matplotlib.pyplot as plt

# 레이블의 폰트 사이즈를 조정
sns.set(font_scale=1.5)
hm = sns.heatmap(corr.values, #데이터
            cbar=True, #오른쪽 컬러 막대 출력 여부
            annot=True, #차트에 숫자를 보여줄 것인지 여부
            square=True, #차트를 정사각형으로 할 것인지
            fmt='.2f', #숫자의 출력 소수점 자리 개수 조절
            annot_kws={'size': 15}, #숫자 출력 시 숫자 크기 조절
            yticklabels=column_names, #y축에 컬럼명 출력
            xticklabels=column_names) #x축에 컬럼명 출력ㄴ

plt.tight_layout()
plt.show()


피어슨의 상관계수는 일반적으로,
값이 -1.0 ~ -0.7 이면, 강한 음적 상관관계
값이 -0.7 ~ -0.3 이면, 뚜렷한 음적 상관관계
값이 -0.3 ~ -0.1 이면, 약한 음적 상관관계
값이 -0.1 ~ +0.1 이면, 없다고 할 수 있는 상관관계
값이 +0.1 ~ +0.3 이면, 약한 양적 상관관계
값이 +0.3 ~ +0.7 이면, 뚜렷한 양적 상관관계
값이 +0.7 ~ +1.0 이면, 강한 양적 상관관계
로 해석됩니다.

(5) 산점도(Pairplot) 확인
pairplot은 데이터프레임을 인수로 받아 그리드(grid) 형태로 각 데이터 열의 조합에 대해 산점도를 그립니다. 같은 데이터가 만나는 대각선 영역에는 해당 데이터의 히스토그램을 그림.

sns.set(style='whitegrid')
sns.pairplot(drink_df[['beer_servings', 'spirit_servings', 
                     'wine_servings', 'total_litres_of_pure_alcohol']])
plt.show()

profile
코딩 0살

0개의 댓글

관련 채용 정보