머신러닝&딥러닝

머신러닝 & 딥러닝 기초 18편 | 상관관계와 회귀 분석

SecLogs YJ 2026. 3. 16. 00:44
목차

1. 변수 간 관계 분석
2. 상관계수(Correlation)
3. 상관행렬(Correlation Matrix)
4. 단순 회귀 분석(Simple Linear Regression)
5. 회귀 분석 주요 개념
6. 상관관계와 인과관계

 

1. 변수 간 관계 분석

데이터 분석에서는 두 변수 사이의 관계를 이해하는 것이 주요하다.

 

예를 들어, 다음과 같은 질문을 생각해 볼 수 있다.

  • 공부 시간이 늘어나면 시험 점수가 늘어날까?

이 처럼 한 변수의 변화가 다른 변수의 어떤 관계가 있는지를 분석하는 과정을 변수 간 관계 분석이라고 한다.

 

대표적인 방법은 다음과 같다.

  • 상관계수
  • 상관행렬
  • 회귀 분석
  • 산점도

 

2. 상관계수(Correlation)

상관계수는 두 변수 사이의 선형 관계의 강도와 방향을 나타내는 값이다.

 

상관계수의 값의 범위는 다음과 같다.

  • 1 : 완전한 양의 상관관계
  • 0 : 관계 없음
  • -1 : 완전한 음의 상관관계

 

상관관계 에시

 

예시 ) 스마트폰 사용 시간과 수면 시간

스마트폰 사용 시간이 증가하면 수면 시간이 줄어들 수 있다.

스마트폰을 사용하면, 수면시간이 줄어든다.

 

이는 음의 상관관계를 의미한다.

 

예를 들어, 상관계수가 -0.65라면, 이는 중간정도의 음의 관계를 의미한다.

 

 

3. 상관행렬(Correlation Matrix)

상관행렬은 여러 변수 간의 상관관계를 표 형태로 정리한 것이다.

 

예를 들어, 다음과 같은 학생 데이터를 생각해보자

 

변수

  • 공부 시간
  • 시험 점수
  • 운동 시간
  • 게임 시간

상관행렬 예시

  공부시간 시험점수 운동시간 게임시간
공부시간 1.0 0.82 0.30 -0.60
시험점수 0.82 1.0 0.25 -0.55
운동시간 0.30 0.25 1.0 -0.20
게임시간 -0.60 -0.55 -0.20 1.0

 

해석 예시

  • 공부시간과 시험점수 : 양의 관계
  • 공부시간과 게임시간 : 음의 관계

 

Python 예제 - pandas의 corr() 함수

corr() 함수는 상관계수을 계산하는 함수이다.

import pandas as pd

data = {
    'Study_Time':[2,3,4,5,6],
    'Score':[60,65,70,75,80],
    'Exercise':[1,1,2,2,3],
    'Game_Time':[4,3,3,2,1]
}

df = pd.DataFrame(data)

print(df.corr())

 

 

4. 단순 회귀 분석(Simple Linear Regression)

회귀 분석은 한 변수(X)를 이용하여 다른 변수(Y)를 예측하는 방법이다.

 

단순 회귀 분석은 하나의 독립 변수와 하나의 종속 변수를 사용하는 모델이다.

 

수식은 다음과 같다.

Y = aX + b

 

  • X : 독립 기후
  • Y : 종속 변수
  • a : 기울기
  • b : 절편

 

Python 코드 예제

Seaborn의 regplot() : 산점도와 회귀선을 동시에 그린다.

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

day1 = datetime.date(2026,1,25)
day2 = datetime.date(2026,1,1)

# 예제 데이터
data = {
    'Exercise_Time':[10,20,30,40,50,60],
    'Calories_Burned':[80,150,210,260,320,400]
}

df = pd.DataFrame(data)

# 산점도 + 회귀선
sns.regplot(
    x='Exercise_Time',
    y='Calories_Burned',
    data=df
)

plt.title("운동 시간과 칼로리 소비량 관계")
plt.xlabel("운동 시간 (분)")
plt.ylabel("칼로리 소비량")

plt.show()

 

예시 출력 결과

regplot() 출력 결과 예시

 

5. 회귀 분석 주요 개념

  • 잔차(Residual)
    • 실제 값과 예측 값의 차이
  • 최소제곱법(Least Squares)
    • 잔차의 제곱합이 최소가 되도록 회귀선을 찾는 방법
  • 결정계수(R²) 
    • 회귀 모델이 데이터를 얼마나 잘 설명하는지를 나타내는 값
    • 값 범위 : 0~1 (1에 가까울수록 데이터를 잘 설명한다는 의미이다.)

 

6. 상관관계와 인과관계

데이터 분석에서 매우 중요한 개념은 다음과 같다.

상관관계 ≠ 인과관계

 

즉, 두 변수 사이에 상관관계가 있다고 해서, 반드시 한 변수가 다른 변수의 원인이라고 할 수 없다.

 

상관관계는 두 변수의 함께 변하는 패턴을 의미하고,
인과관계는 한 변수가 다른 변수의 원인이 되는 관계를 의미한다.

 


👉 머신러닝 & 딥러닝 기초 19편 | 지도 학습 vs 비지도 학습 정리