반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- OKR
- pmf
- productmarketfit
- fit
- omtm
- 태블로
- Computer Vision
- 언어지능딥러닝
- 딥러닝
- dl
- 데이터모델링
- product
- 자연어처리
- 데이터분석
- 그로스해킹
- 데이터시각화
- 시각화
- nlp
- 머신러닝
- 데이콘
- tableau
- Market
- 인공지능
- DACON
- 모델링
- 파인튜닝
- 컴퓨터비전
- ERD
Archives
- Today
- Total
블로그
[머신러닝] #2 성능평가 본문
반응형
1. 회귀모델 성능평가
- y : 실젯값, Target. 이 값과 비교해서 모델의 성능을 평가
- y햇 : 예측값 , 모델의 예측값이 평균값보다 오차를 얼마나 더 줄였는지 궁금한 것
- y바 : 평균값
- 회귀모델의 성능은 실젯값과 예측값의 차이인 오차의 크기로 평가함
- 하나의 값으로 오차를 표현하기 위해 다양한 연산을 활용함
- 방법1 : 오차합
- 오차가 2, -1, 2, -3인 경우 다 합하면 오차가 0이 돼버림. 사용X
- 방법2 : 오차 제곱의 합
- 오차 제곱의 합 → SSE(Sum Squared Error)
- 오차 제곱(SSE)의 합을 구한 후 평균을 구함 → MSE
- 오차의 제곱이므로 루트를 사용해 일반적인 값으로 표현 → RMSE
- 방법3 : 오차 절대값의 합
- 오차 절대값의 합을 구한 후 평균을 구함 → MAE
- 오차 비율을 표시하고 싶은 경우 MAPE를 사용함
- 방법1 : 오차합
- SST : Sum Squared Total, 전체 오차(최소한 평균 보다는 성능이 좋아야 하니, 우리에게 허용된(?) 오차)
- SSR : Sum Squared Regression, 전체 오차 중에서 회귀식이 잡아낸 오차(평균보다 실젯값에 얼마나 더 가까워졌는지), 클수록 좋음
- SSE : Sum Squared Error, 전체 오차 중에서 회귀식이 여전히 잡아내지 못한 오차, 작을수록 좋음
- 결정 계수 𝑅2 (R-Squared)
- Coefficient of Determination
- MSE로 여전히 설명이 부족한 부분이 있음(성능이 확실히 와 닿지 않음)
- MSE의 표준화된 버전
- 전체 오차(SST) 중에서 회귀식이 잡아낸 오차(SSR) 비율(일반적으로 0 ~ 1 사이)
- 오차의 비 또는 설명력이라고도 부름 => 평균보다 00% 더 설명력이 있다.
- 𝑅2 = 1이면 𝑀𝑆𝐸 = 0이고 모델이 데이터를 완벽하게 학습한 것 => 실제값과 예측값 사이에 오차가 없다.
2. 분류모델 성능평가
실제값 / 예측값 | 0 | 1 |
0 | [0 → 0] 3 | [0 → 1] 1 |
1 | [1 → 0] 2 | [1 → 1] 4 |
- 1과 0을 정확히 예측한 비율 : 10 / 7 = 정확도(Accuracy)
- 1이라 예측한 것 중에서 정말 1인 비율 : 4 / 5 = 정밀도(Precision)
- 실제 1인 것을 1이라고 예측한 비율 : 4 / 6 = 재현율(Recall)
Predicted Value | |||
Actual Value | Negative 0 |
Positive 1 |
|
Negative 0 |
True Negative TN |
False Positive FP |
|
Positive 1 |
False Negative FN |
True Positive TP |
- 정확도(Accuracy) = (TN + TP) / N
- 정분류율이라고 부르기도 함
- 가장 직관적으로 모델 성능 확인 가능
- 정밀도(Precision) = TP / (FP + TP)
- 모델이 1이라고 예측한 것 중에 실제로 1인 데이터의 비율
- 예측의 정밀도 라고 외우면 쉽게 외워짐
- 정밀도가 낮을 경우 : 암이 아닌데 암이 아니라고 예측해서 불필요한 치료 발생
- 재현율(Recall) = TP / (FN + TP)
- 실제 1 중에 모델이 1이라고 예측한 데이터의 비율
- 민감도(Sensitivity)라고 부르는 경우가 많음
- 실제를 얼마나 재현했냐 라고 외우면 쉽게 외워짐
- 재현율이 낮을 경우 : 암인데 암이 아니라고 예측해서 심각한 결과 초래
- Precision과 Recall은 반비례 관계 => Recall이 올라가기 위해서는 Precision이 떨어져야 함
- 특이도(Specificity) = TN / (TN + FP)
- Negative 기준 재현율(민감도)
- 특이도가 낮을 경우 : 암이 아닌데 암이라 했으니 불필요한 치료 발생
- F1 Score
- 정밀도와 재현율의 조화 평균
- 정밀도와 재현율이 적절하게 요구될 때 사용
- 산술 평균 : (a + b) / 2
- 사용 데이터의 특징 : 합으로 표현되는 데이터(성적, 나이 등)
- 사용 데이터의 분포 : 정규분포
- 기하 평균(비율의 평균) : (ab)^(1/2)
- 사용 데이터의 특징 : 곱으로 표현되는 데이터(증가율, 감소 등)
- 사용 데이터의 분포 : 오른쪽으로 꼬리가 긴 형태
- 조화 평균 : 2ab / (a + b)
- 사용 데이터의 특징 : 데이터의 측정 단위가 다른 상황에서 비교하고 싶을 때
- 측정 단위가 다름 -> 분모는 같은데 분자가 다름 -> 역수를 취해서 같은 측정단위로 평균을 구한 후 다시 역수를 취하는 형태
728x90
반응형
'공부 > ML' 카테고리의 다른 글
[머신러닝] #6 앙상블(Ensemble) (2) | 2024.03.15 |
---|---|
[머신러닝] #5 Hyperparameter 튜닝 (0) | 2024.03.14 |
[머신러닝] #4 K-Fold Cross Validation (0) | 2024.03.14 |
[머신러닝] #3 기본 알고리즘 - 1(Linear Regression, K-Nearest Neighbor, Decision Tree, Logistic Regression) (0) | 2024.03.13 |
[머신러닝] #1 (0) | 2024.03.12 |