Menu
CoddyTech

상관관계 행렬

Coddy Machine Learning 여정의 머신러닝을 위한 통계 섹션에 포함된 레슨. 64개 중 31번째.

특성 선택이란 모든 열을 대상과 한 번에 비교하는 것을 의미합니다. df.corr(numeric_only=True)는 텍스트 열을 건너뛰고 상관관계 행렬을 만듭니다:

laptops = pd.DataFrame({
    "model": ["Arc", "Bolt", "Cove", "Dune", "Echo", "Flux", "Gale"],
    "ram_gb": [8, 16, 8, 32, 16, 16, 32],
    "weight_kg": [2.3, 1.4, 2.0, 1.1, 1.8, 1.2, 1.6],
    "battery_h": [7, 9, 10, 13, 6, 11, 8],
    "price": [650, 1100, 700, 1600, 900, 1350, 1200],
})
corr = laptops.corr(numeric_only=True)

숫자로 된 격자 형태의 네 노트북 열 간 상관관계 행렬. 대각선은 회색으로 1.00을 나타내고, price 열이 강조 표시됨: ram_gb 0.81, weight_kg -0.95, battery_h 0.70

각 셀은 해당 행과 열의 r입니다. 가장 강한 특성을 찾으려면 부호는 무시하고 크기순으로 price 열의 순위를 매기세요:

ranked = np.abs(corr["price"]).sort_values(ascending=False)
print(ranked.index[1])

다음과 같이 출력됩니다:

weight_kg

인덱스 0은 1에 있는 price 자체입니다. 더 가벼운 노트북일수록 가격이 높습니다. -0.95는 가장 강한 상관관계입니다.

challenge icon

챌린지

중급

한 에너지 회사가 겨울철에 주택 24채를 조사했습니다. homes.csv에는 home 코드와 area_m2, insulation_cm, residents, outside_temp_c, heating_kwh 열이 있습니다. 프로그램은 대상 열을 읽습니다.

  1. 상관 행렬에서 대상 열을 소수점 둘째 자리까지 반올림하여 출력합니다.
  2. 아래와 같이 Strongest:, 대상과 가장 강한 관련이 있는 다른 열, 그리고 해당 열의 r을 출력합니다.

다른 조사에서 대상이 heating_kwh인 경우:

windows        0.72
floors         0.68
age_years      0.23
heating_kwh    1.00
Name: heating_kwh, dtype: float64
Strongest: windows (r = 0.72)

직접 해보기

import numpy as np
import pandas as pd

homes = pd.read_csv("homes.csv")
target = input()

# 아래에 코드를 작성하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

머신러닝을 위한 통계의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러