'피어슨'에 해당되는 글 1건
- 2019.11.21 :: [파이썬] 상관분석 (Correlation Analysis)
상관분석(Correlation Analysis)
상관분석은 두 변수간에 어떤 선형적 또는 비선형적 관계를 갖고 있는지를 분석하는 방법입니다.
두 변수간의 관계의 강도를 상관관계라고 하며, 그 정도를 파악하는 것을 상관 계수라고 합니다.
상관계수는 두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하는 것은 아닙니다.
이제 파이썬에서 상관분석을 하는 법을 알아보겠습니다.
우선 판다스를 불러옵니다.
import pandas as pd
그 후 데이터 프레임을 불러오거나 제작합니다.
저는 일단, 가상의 데이터를 만들겠습니다.
df = pd.DataFrame({"v1":[100,200,300,400], "v2":[400,200,100,250], "v3":[40,60,60,100]})
이제 상관분석을 하겠습니다. 저는 피어슨 상관 계수를 사용하겠습니다.
corr = df.corr(method = 'pearson')
corr
피어슨의 상관계수는 일반적으로,
값이 -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 이면, 강한 양적 상관관계
로 해석됩니다.
이제 상관분석을 시각화 하겠습니다.
matplotlib은 파이썬에서 기본적인 차트를 쉽게 그릴 수 있도록 도와주는 데이터 시각화 라이브러리입니다.
seaborn은 matplotlib을 기반으로 만들어져 통계 데이터 시각화에 최적화된 라이브러리입니다.
이 두 개를 불러옵니다.
import matplotlib.pyplot as plt
import seaborn as sns
그 후, 상관분석에 대한 히트맵을 그립니다.
df_heatmap = sns.heatmap(corr, cbar = True, annot = True, annot_kws={'size' : 20},
fmt = '.2f', square = True, cmap = 'Blues')
cbar는 오른쪽에 있는 막대(범주)를 표시하는 것입니다.
annot는 상관계수를 표시합니다.
annot_kws는 상관계수의 글자 크기를 지정합니다.
fmt 는 상관계수의 소수점 자리수를 지정합니다.
square는 정사각형으로 지정하는 것이며, False로 설정 시 직사각형이 됩니다.
cmap은 색상을 지정합니다.
'Python 파이썬' 카테고리의 다른 글
파이썬 리스트에 있는 값들의 모든 조합구하기 (0) | 2021.07.11 |
---|---|
K리그 축구 승부 예측 프로그램 (Python 부분) (1) | 2021.06.18 |
[파이썬] 문자열 서식 (0) | 2019.10.09 |
[파이썬] 간단한 팩토리얼 계산기 (0) | 2019.10.09 |
[파이썬] 숫자야구게임 만들기 (0) | 2019.10.09 |