본문 바로가기
데이터 이해하기

상관 분석

by ag_zero 2021. 11. 4.
728x90

정형 데이터 분석에서 각 칼럼(feature) 간의 상관관계를 알아보는 것이 중요하다.

상관 분석

상관분석은 연속형 변수로 측정된 두 변수 간의 선형적 관계를 분석하는 기법이다.

그렇기 때문에 상관 분석을 할 때 연속형 변수로 이루어진 칼럼만 사용해야 한다.

dataset_number = dataset.select_dtypes(np.number)

dataset에서 np.number 타입의 데이터만 선택한다.

 

corr()

상관관계 분석( Correlation analysis)

corr = dataset_number.corr()

 

sns.heatmap()

상관관계를 그래프로 표현한다.

-heatmap 기본 문법

ax=sns.heatmap(data, # 데이터
               vmin=10, # 최솟값
               vmax=70, # 최댓값
               cbar=True, # colorbar의 유무
               center=35, # 중앙값 선정 
               linewidths=0.5, # cell사이에 선을 집어 넣는다
               annot= True, # 각 cell의 값 표기 유무 
               fmt="d", # 그 값의 데이터 타입설정
               camp='Blues'# 히트맵의 색 설정 )

 

예시

corr = app_train[corr_columns].corr()
plt.figure(figsize=(20, 10))
ax = sns.heatmap(
    corr, 
    vmin=-1, vmax=1, center=0,
    cmap=sns.diverging_palette(20, 220, n=200),
    square=True,
    annot=True
)

ax.set_xticklabels(
    ax.get_xticklabels(),
    rotation=45,
    horizontalalignment='right'
)

plt.title('Correlation heatmap', fontsize=30)
plt.show()

위의 그래프에서는 붉은색을 수록 음의 상관관계를, 푸른색일수록 양의 상관관계를 가진다는 것을 알 수 있다.

관심이 있는 타깃 값(y)과 어떤 칼럼이 상관관계가 높은지 주의 깊게 봐야 한다!