본문으로 건너뛰기
실습하기

결정 계수 (R²)

회귀 모델의 성능을 평가할 때 평균 제곱 오차(MSE)나 평균 절대 오차(MAE)와 함께 중요한 지표 중 하나가 결정 계수(R², R-squared)입니다.

결정 계수는 모델이 실제 데이터를 얼마나 잘 설명하는지를 나타내는 지표로, 설명력(Explained Variance)을 평가하는 데 사용됩니다.

결정 계수는 이전에 비해 다소 복잡한 수식을 사용합니다. 수식을 이해하기 어려우시면 큰 틀에서 참고만 하시길 바랍니다.


결정 계수(R²) 계산 방법

결정 계수는 다음과 같은 공식으로 계산됩니다.

R2=1SSresSStotR^2 = 1 - \frac{SS_{res}}{SS_{tot}}

여기서 각 항목은 다음과 같은 의미를 가집니다.

  • SSresSS_{res} : 잔차 제곱합(Residual Sum of Squares, RSS) = 예측 값과 실제 값 사이의 오차 제곱합

  • SStotSS_{tot} : 전체 제곱합(Total Sum of Squares, TSS) = 실제 값과 평균 값 사이의 오차 제곱합


전차 제곱합과 전체 제곱합은 다음과 같이 정의됩니다.

SSres=i=1n(yiy^i)2SS_{res} = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 SStot=i=1n(yiyˉ)2SS_{tot} = \sum_{i=1}^{n} (y_i - \bar{y})^2

여기서 yiy_i는 실제 값, y^i\hat{y}_i는 모델이 예측한 값, yˉ\bar{y}는 실제 값의 평균입니다.

결정 계수를 구하는 예시는 다음과 같습니다.

R² 예시
실제 값: [10, 20, 30]
예측 값: [15, 25, 35]

SS_{res} = (10-15)² + (20-25)² + (30-35)²
= 25 + 25 + 25
= 75

평균 값: 20

SS_{tot} = (10-20)² + (20-20)² + (30-20)²
= 100 + 0 + 100
= 200

R² = 1 - (75 / 200)
= 1 - 0.375
= 0.625

R²는 어떻게 해석해야 할까요?

결정 계수(R²)는 0에서 1 사이의 값을 가집니다.

  • R2=1R^2 = 1 : 모델이 데이터를 완벽하게 설명하고 있음

  • R2=0R^2 = 0 : 모델이 아무런 설명력을 가지지 않으며, 단순히 평균 값을 예측하는 것과 동일한 수준

  • R2<0R^2 < 0 : 모델이 오히려 데이터를 잘못 설명하고 있음 (무작위 예측보다 더 나쁨)

즉, R² 값이 1에 가까울수록 모델이 데이터를 더 잘 설명하고 있다고 볼 수 있습니다.

반대로, R² 값이 0에 가까우면 모델이 데이터를 설명하는 능력이 부족하다는 의미이며, 음수라면 모델이 무작위 예측보다도 못한 결과를 내고 있다는 뜻입니다.

R² 예시
예측 모델 A의 R² = 0.85 → 모델이 데이터의 85%를 설명할 수 있음
예측 모델 B의 R² = 0.45 → 모델이 데이터의 45%만 설명할 수 있음

다음 수업에서는 지금까지 배운 회귀 모델 평가 지표에 대한 내용을 점검하는 간단한 퀴즈를 풀어보겠습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!