데이터 과학2022 개정 · 성취기준 기반 웹교과서 교과서 대조표

Ⅲ. 데이터 모델링과 평가 · 5차시

모델을 평가한다 — 예측률과 정확도

모델을 만든 다음에는 얼마나 맞는지 재야 한다. 수를 예측하는 모델은 오차로 재고, 갈래를 가르는 모델은 맞힌 비율로 잰다. 훈련에 쓴 데이터와 평가에 쓸 데이터를 나누는 이유도 확인한다.

12데과03-05 권장 4차시 예측률정확도평균절대오차평균제곱오차의 제곱근혼동행렬과적합

모델을 두 개 만들었다면 어느 쪽을 쓸지 정해야 한다. 더 그럴듯해 보인다는 말로는 정할 수 없다.

모델이 얼마나 맞는지를 하나의 수로 재야 한다. 그 수를 평가 지표라고 한다.

무엇을 재는지 먼저 정한다

평가 지표는 분석 목적에 따라 달라진다. 목표 속성이 이어지는 수일 때와 몇 개의 갈래일 때 재는 방법이 다르다.

점수나 판매량을 예측하는 회귀 모델은 예측값과 실제값의 차이, 곧 오차로 잰다. 품절인지 아닌지처럼 갈래를 가르는 분류 모델은 맞게 예측한 사례의 비율로 잰다.

맞게 예측한 사례의 비율을 예측률이라고 부른다. 분류 모델에서 그 값을 계산한 지표가 다. 이 차시에서는 두 이름을 이렇게 구분해 쓴다.

분석 목적별로 자주 쓰는 평가 지표
분석 목적목표 속성의 형태자주 쓰는 평가 지표
수를 예측한다(회귀)점수, 판매량처럼 이어지는 수평균절대오차, 평균제곱오차, 평균제곱오차의 제곱근
갈래를 가른다(분류)품절·품절 아님처럼 정해진 갈래정확도
비슷한 것끼리 묶는다(군집)정답에 해당하는 속성이 없다군집 내 평균 거리와 군집 간 거리 비교
함께 일어나는 일을 찾는다(연관)정답에 해당하는 속성이 없다지지도, 신뢰도, 향상도

회귀 모델은 오차로 평가한다

어느 회귀 모델의 예측 결과 5건(수업용으로 만든 예시 데이터)
사례실제 점수(점)예측 점수(점)오차(실제 − 예측)
16265−3
270682
37578−3
481801
588844

오차를 그냥 더하면 안 된다. 위 오차를 모두 더하면 1이고, 5로 나누면 0.2다. 양수와 음수가 서로 지워져 실제보다 작게 나온다.

그래서 아래 세 가지를 쓴다.

  • 평균절대오차 = (오차의 절댓값을 더한 값) ÷ (사례 수)
  • 평균제곱오차 = (오차를 제곱해 더한 값) ÷ (사례 수)
  • = 평균제곱오차의 제곱근

평균제곱오차는 오차를 제곱하므로 큰 오차에 더 크게 반응한다. 평균제곱오차의 제곱근은 그 값을 원래 단위로 되돌려 점수와 같은 단위로 읽게 해 준다.

평균제곱오차의 제곱근(Root Mean Squared Error, RMSE)
오차를 제곱해 평균한 뒤 제곱근을 씌운 값. 큰 오차에 민감하고, 단위가 원래 목표 속성과 같아 해석하기 쉽다.

분류 모델은 정확도로 평가한다

혼동행렬(confusion matrix)
실제 갈래와 예측한 갈래를 가로세로로 놓아 맞은 사례와 틀린 사례를 한눈에 정리한 표.
매점 우유가 품절될지 예측한 모델의 40일 결과(수업용으로 만든 예시 데이터)
실제로 품절실제로 품절 아님합계
품절로 예측8513
품절 아님으로 예측22527
합계103040
정확도(accuracy)
전체 사례 가운데 맞게 예측한 사례의 비율. 정확도 = (맞게 예측한 사례 수) ÷ (전체 사례 수)

훈련 데이터와 평가용 데이터를 나눈다

모델을 만들 때 쓴 데이터로 다시 평가하면 점수가 좋게 나온다. 이미 답을 보고 만든 규칙이기 때문이다.

그래서 데이터를 두 몫으로 나눈다. 한 몫으로 모델을 만들고, 남겨 둔 몫으로 평가한다. 남겨 둔 몫은 모델이 처음 보는 데이터가 된다.

03-02에서 쓴 학생 10명의 자료를 나눠 본다. 공부 시간 1~7시간인 7명으로 회귀식을 만들고, 8~10시간인 3명으로 평가한다.

확인 문제

4문항 · 고르면 바로 채점된다

오차가 순서대로 −3, 2, −3, 1, 4일 때 평균절대오차는 얼마인가?

절댓값을 더하면 3 + 2 + 3 + 1 + 4 = 13이고 13 ÷ 5 = 2.6이다. 0.2는 절댓값을 씌우지 않고 그냥 더해 나눈 값이고, 7.8은 평균제곱오차, 2.793은 그 제곱근이다.

혼동행렬에서 품절을 맞힌 날이 8일, 품절 아님을 맞힌 날이 25일, 전체가 40일이다. 정확도는 얼마인가?

(8 + 25) ÷ 40 = 33 ÷ 40 = 0.825다. 0.615는 품절로 예측한 13일 가운데 맞힌 비율이고, 0.8은 실제 품절 10일 가운데 맞힌 비율이다.

정확도가 높으면 어떤 상황에서도 좋은 분류 모델이라고 판단할 수 있다.

한쪽 갈래가 드물면 정확도가 높아도 목적에 맞지 않을 수 있다. 100일 중 품절이 5일일 때 늘 품절 아님이라고 답해 본다. 정확도는 0.95지만 품절인 날은 하나도 맞히지 못한다.

훈련 데이터에서 오차가 작으면 처음 보는 데이터에서도 오차가 작다.

7명으로 만든 회귀식은 훈련 데이터 RMSE가 1.276이었지만 남겨 둔 3명에서는 2.575로 커졌다. 그래서 성능은 훈련에 쓰지 않은 평가용 데이터로 보고한다.

내 교과서에서 찾기

YBM Ⅲ. 데이터 모델링과 평가 › 01. 회귀 분석 모델 01-1 회귀 분석 모델의 개념 · 01-2 회귀 분석 모델의 실제 Ⅲ. 데이터 모델링과 평가 › 02. 군집 분석 모델 02-1 군집 분석 모델의 개념 · 02-2 군집 분석 모델의 실제 Ⅲ. 데이터 모델링과 평가 › 03. 연관 분석 모델 03-1 연관 분석 모델의 개념 · 03-2 연관 분석 모델의 실제
씨마스 Ⅲ. 데이터 모델링과 평가 › 2. 군집 분석과 연관분석 2-2 연관분석 (154쪽)
천재 Ⅲ. 데이터 모델링과 평가 › 05. 다양한 데이터 모델 분석 방법 1 회귀 분석으로 행복에 필요한 요건 찾아보기 · 2 군집 분석으로 1인당 GDP와 행복 점수의 관계 찾아보기 · 3 연관 분석으로 학생들의 과목 선택 패턴 찾아보기