본문 바로가기
데이터분석과 AI/빅데이터 분석기사

[빅데이터분석기사 실기][작업형1] 상관관계 구하기

by 우공80 2023. 5. 28.
728x90

상관계수는 두 변수 간의 선형 관계의 강도와 방향을 측정하는 통계량입니다. 상관계수는 -1에서 1 사이의 값을 가지며, 값의 절대값이 클수록 강한 선형 관계를 나타냅니다. 상관계수가 1에 가까울수록 양의 선형 관계를, -1에 가까울수록 음의 선형 관계를 나타냅니다. 0에 가까울수록 선형 관계가 약하거나 없음을 의미합니다.

 

아래 코드에서 상관관계가 높은 변수를 찾을 때는 단순히 상관계수의 크고 작음이 아니라, 상관계수의 절대값을 기준으로 강한 상관관계를 가지는지 판단해야 합니다.

import pandas as pd
from sklearn.datasets import load_boston

# Boston House Prices 데이터셋 로드
data = load_boston()
df = pd.DataFrame(data.data, columns=data.feature_names)

# Target 변수 추가
df['MEDV'] = data.target

# 상관계수 계산
corr_matrix = df.corr()

# 'MEDV'와의 상관계수가 가장 강한 변수와 가장 약한 변수 찾기
corr_with_medv = corr_matrix['MEDV'].drop('MEDV')  # 'MEDV' 변수 제외
strongest_corr = abs(corr_with_medv).idxmax() # 최대값의 index를 찾음
weakest_corr = abs(corr_with_medv).idxmin() #최소값의 index를 찾음

# 'MEDV'와의 상관계수 출력
strongest_corr_value = corr_with_medv[strongest_corr]
weakest_corr_value = corr_with_medv[weakest_corr]

print("가장 강한 상관관계:")
print("변수:", strongest_corr)
print("상관계수:", strongest_corr_value)
print()
print("가장 약한 상관관계:")
print("변수:", weakest_corr)
print("상관계수:", weakest_corr_value)

Output:

가장 강한 상관관계:
변수: LSTAT
상관계수: -0.7376627261740145

가장 약한 상관관계:
변수: CHAS
상관계수: 0.17526017719029868

 

※ 위 내용은 "빅데이터 분석기사 실기 준비를 위한 캐글 놀이터"를 따라가며 공부한 내용입니다.

https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

 

728x90

댓글