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
728x90
'데이터분석과 AI > 빅데이터 분석기사' 카테고리의 다른 글
[빅데이터분석기사 실기][작업형1] iloc와 loc를 이용한 데이터프레임 접근 (0) | 2023.06.06 |
---|---|
[빅데이터분석기사 실기][작업형1] 그룹화와 정렬 + 멀티인덱싱 (0) | 2023.06.06 |
[빅데이터분석기사 실기][작업형1] 표준화와 정규화 (0) | 2023.05.27 |
[빅데이터분석기사 실기][작업형1] 누적합 계산 및 결측치 채우기(cumsum, bfill) (0) | 2023.05.27 |
[빅데이터분석기사 실기][작업형1] 값을 대체하기 (replace) (0) | 2023.05.26 |
댓글