[에이쁠] 머신러닝 2일차

3e_b1n2·2024년 10월 27일
0
post-thumbnail

모델의 성능평가

회귀 모델의 성능평가 vs 분류 모델의 성능평가

분류모델평가(정확도)

  • 분류모델은 0 or 1을 예측
  • 예측값과 실제값이 같아야 좋은 모델
    -> 정확히 예측한 비율로 모델 성능 평가

회귀모델평가(오차 줄이기)

  • 회귀모델은 정확한 값 예측이 어려움
  • 예측값과 실제값 사이 차이(오차) 존재할 것이라고 예상
  • 예측값이 실제값에 가까울 수록 좋은 모델
    -> 예측값과 실제값의 차이 (오차)로 성능 평가

*키워드 설명

실제값(target) : 목표값

평균값 : 최소한 평균값 보다는 실제값에 가까운 예측값을 원함, 최소한 예측값이 평균값 보다 실제값에 가까워야함, 예측값이 평균값 보다 오차를 얼마나 줄였는지 궁금.

예측값 : 모델이 새로 예측한 값, 최소한 평균값보다 좋아야하며 모델이 평균보다 얼마나 잘 예측했을지 궁금.

회귀모델

회귀모델 성능은 실제와 예측값의 차이, 즉 오차 크기로 평가.
실제값 - 예측값
오차의 평균으로 표현 할 수 있어야함.

오차 평균으로 표현하려면 우선적으로 오차 합이 필요.

방법 1 : 오차 제곱의 합 (SSE)
오차 제곱 합의 평균 -> MSE
MSE를 루트를 사용해 일반적 값으로 표현 -> RMSE

방법 2 : 오차 절대값의 합(MAE)
오차 비율을 표시하고 싶은 경우 -> MAPE

=> 값은 모두 작아야 모델 성능 GOOD!

오차를 보는 관점

1) SST : 실제값 - 평균값
(전체오차 : 우리에게 허용된 오차, 최소한 평균보다 성능이 좋아야해!)
2) SSR : 예측값 - 평균값
(우리가 해결할 영역(회귀식이 잡은 오차), 클수록 좋음, 실제값과 가까워지니까 !)
3) SSE : 예측값 - 실제값
(전체 오차 중 회귀식이 잡지 못한 오차)

결정계수 R2

오차 제곱 합의 평균 -> MSE으로 여전히 설명이 부족
모델 성능을 잘 해석하기 위해 만든 MSE표준화 버전이 R2 결정계수

전체 오차 SST 중 회귀식이 잡아낸 오차 SSR의 비율
R2 =1이면, MSE =0

R2 = SST/SSR
=우리에게 허용된 오차 / 회귀식이 잡은 오차
=1 - (전체오차 / 회귀식이 잡지 못한 오차)

SST = SSR + SSE

회귀모델 성능평가 함수 (from sklearn.metrics import ...)
-mean_squared_error
-mean_absolute_error
-mean_absolute_percentage_erorr
-r2_score : 클수록 좋음

: 실제값 (y_test)과 예측값(y_pred)을 매개변수로 전달해 평가

 # 평가하기
# mean_absolute_error(실젯값, 예측값)
 print(mean_absolute_error(y_test, y_pred))

분류모델

혼동행렬
confusin matrix (오분류표)

정확도
정밀도
재현율

profile
에이블기자 최멍빈입니다.

0개의 댓글