일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 농정원
- 평가지표
- report lab
- Programmers
- 딥러닝
- 농촌진흥청
- 숫자 짝꿍
- Pivot Table
- rmse
- 주식가격
- 데이터분석
- group by
- Python
- join
- netron
- 스마트팜
- MAPE
- 스마트팜코리아
- SQL
- Algorithm
- postgres sql
- minmaxscaling
- 생육
- solvesql
- ML
- 농림수산식품교육문화정보원
- DTW
- psycopg
- 데이터
- 유사도
- Today
- Total
Positive-Influence-Data
[ML] 회귀 평가방법 본문
❗ 본 포스팅은 AI-Tech Interview의 질문을 바탕으로 공부한 내용을 정리한 것입니다.
Q. 알고 있는 metric에 대해 설명해주세요. ex) RMSE, MAE, recall, precision ...
Metric은 크게 회귀(Regression)과 분류(Classification)으로 나누어서 이야기 할 수 있습니다.
이번에 공부한 내용은 회귀에 관한 metric이다.
회귀(Regression)에 대해 알아보자.
회귀는 간단하게 어떤 데이터가 위의 그림처럼 퍼져있으면 그 데이터를 적절하게 설명하는 선을 찾는 것을 이야기한다.
저기 위에 있는 주황색 포인트가 실제값들이고 예측값이라고 되어있는 선이 회귀선이다. 그리고 회귀선과 실제값들의 차이를 오차라고 한다.
그렇다면 우리가 해야하는 머신러닝(ML)에서 회귀를 하게 되면 실제값과 예측값 사이의 오차를 줄이는 것이 목표가 된다.
실제값들은 옮길 수 없으니 우리는 예측값
즉, 적절한 회귀선을 찾아서 오차를 줄여야한다.
그 오차를 줄이는 기준(metric)에는 여러가지 기준들이 있는데 대표적으로 MSE, RMSE, MAE, MAPE 등이 있다.
1. MSE (Mean Squared Error)
$$\textbf{MSE} = \frac{1}{n}\sum_{i}^{n}({pred}_i-{target}_i)^2$$
말그대로 평균제곱오차로 모델이 예측한 값과 실제값의 차이를 제곱한 다음 평균낸 것을 의미한다.
ex) pred = [1,3,5,7], target = [20,15,6,10] 이라고 하면 128.75가 MSE라는 것이다.
이 값이 커지면 커질 수록 예측한 값과 실제 값의 오차가 크다는 의미이다.
2. RMSE (Root Mean Squared Error)
$$\textbf{RMSE} = \sqrt{\frac{1}{n}\sum_{i}^{n}({pred}_i-{target}_i)^2}$$
기존 MSE의 Root 즉, 제곱근을 한 방식을 의미한다.
MSE는 이상치에 민감하다. MSE는 오차가 크고 거기에 제곱을 하기 때문에 하나의 데이터가 엄청난 영향력을 가질 수 있다. 이런 단점을 보완한 것이 RMSE이다. 이상치 부분에 민감하지 않아 많은 회귀 문제에서 성능지표로 활용하고 있다.
ex) pred = [1,3,5,7], target = [20,15,6,10] 이라고 하면 11.3468.....가 RMSE라는 것이다.
RMSE값을 다시 제곱하면 MSE가 나온다. 얼핏보면 그냥 제곱근만 했지 똑같아 보이겠지만 target과 pred가 0~1일 경우 제곱을 했을때 본래 값보다 더 작아지는 효과를 볼 수 있고 1이상일 때는 더 커지는 효과를 볼 수 있다. 그래서 제곱근을 하게 되면 어느정도 MSE의 단점을 보완할 수 있다.
3. MAE ((Mean Absolute Error))
$$ \textbf{MAE} = \frac{1}{n}\sum_{i}^{n}(\left|{pred}_i-{target}_i\right|)$$
MAE는 모델이 예측한 값에 실제 값의 차이를 빼서 절대값으로 만들어서 평균을 취한 성능지표이다.
위에서 말했듯이 MSE가 이상치에 민감하다. 하지만 MAE같은 경우 오차의 제곱을 하는게 아니고 절대값을 취하기 때문에 상대적으로 MSE나 RMSE보다 이상치에 덜 민감하다. 왜냐하면 RMSE도 그렇고 MSE도 그렇고 오차의 제곱을 하는 순간 오차가 크게 차이나는 데이터의 경우 가중치 즉, 영향력이 커진다.
하지만 MAE같은 경우 각각의 동일한 가중치를 적용하는 효과를 가져올 수 있기 때문에 RMSE와 같이 대표적인 회귀의 성능지표로 활용된다.
ex) pred = [1,3,5,7], target = [20,15,6,10] 이라고 하면 8.75가 MAE이다.
4. MAPE (Mean Absolute Percent Error)
$$\textbf{MAPE} = \frac{1}{n}\sum_{i}^{n}(\left|\frac{{pred}_i-{target}_i}{target_i}\right|) $$
MAPE는 실제 값과 예측 값을 뺀 후 실제 값으로 나눠준다음 절대값 취해서 평균을 취하는 성능지표이다. 얼핏보면 MAE랑 비슷해보인다.
분류의 정확도(accuracy)처럼 백분율로 값이 나오기 때문에 해석하기에 직관적고 좋다.
ex) pred = [1,3,5,7], target = [20,15,6,10] 이라고 하면 약 0.5541이 MAPE이다. 0.554정도의 오차율이라고 생각하면 된다.
즉, 0에 가까울수록 회귀의 오차가 작다고 생각하면 편하다.
'ML' 카테고리의 다른 글
[ML] 데이터 분포 정규화 (0) | 2025.02.24 |
---|---|
[ML]Netron(딥러닝 모델 시각화 도구) (0) | 2025.02.17 |
[Ray] Ray를 활용한 데이터 프레임 Concat (0) | 2024.02.28 |