λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ML/ML

[νšŒκ·€λͺ¨λΈ μ„±λŠ₯ν‰κ°€μ§€ν‘œ] MAE, MSE, RMSE, R2 Score

λΆ„λ₯˜ λͺ¨λΈμ˜ μ„±λŠ₯을 ν‰κ°€ν•˜κΈ° μœ„ν•΄μ„œ 주둜 Accuracy, Precision, Recall 을 μ‚¬μš©ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ νšŒκ·€λͺ¨λΈμ˜ 경우 μ–΄λ–»κ²Œ μ„±λŠ₯을 평가할 수 μžˆμ„κΉŒμš”?

λŒ€ν‘œμ μΈ νšŒκ·€ λͺ¨λΈ(Regression) 의 μ„±λŠ₯ 평가 μ§€ν‘œμ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

1. MAE (Mean Absolute Error)

νšŒκ·€λͺ¨λΈμ—μ„œλŠ” μ–Όλ§ˆλ‚˜ μ •ν™•ν•˜κ²Œ μ˜ˆμΈ‘μ„ ν–ˆλŠ”μ§€κ°€ μ€‘μš”ν•©λ‹ˆλ‹€. λ™μΌν•˜κ²Œ μ˜ˆμΈ‘ν•˜λ©΄ κ°€μž₯ μ’‹κ³ , μ•„λ‹κ²½μš°μ—λŠ” κ°€μž₯ κ°€κΉκ²Œ μ˜ˆμΈ‘ν•˜λŠ” 것이 쒋을 κ²ƒμž…λ‹ˆλ‹€.

λ”°λΌμ„œ μ„±λŠ₯평가λ₯Ό μœ„ν•΄μ„œλŠ” μ‹€μ œκ°’κ³Ό μ˜ˆμΈ‘κ°’μ„ λΉ„κ΅ν•΄μ•Όν•©λ‹ˆλ‹€.

  • λ¨Όμ € μ‹€μ œκ°’μ—μ„œ μ˜ˆμΈ‘κ°’μ„ λΉΌμ•Ό μ˜€μ°¨κ°€ λ©λ‹ˆλ‹€.
  • 각 μ˜€μ°¨λŠ” μŒμˆ˜κ°’μ„ 가지지 μ•Šλ„λ‘ μ ˆλŒ€κ°’μ„ μ·¨ν•΄μ€λ‹ˆλ‹€.
  • 였차λ₯Ό λͺ¨λ“  μ˜ˆμΈ‘κ°’μ— λŒ€ν•΄ κ΅¬ν•΄μ•Όν•˜λ―€λ‘œ, μ‹œκ·Έλ§ˆλ₯Ό μ·¨ν•΄μ„œ μ˜€μ°¨λ“€μ„ λͺ¨λ‘ λ”ν•©λ‹ˆλ‹€.
  • 였차의 μ „λ°˜μ μΈ 뢄포 확인을 μœ„ν•΄ 평균 κ΅¬ν•©λ‹ˆλ‹€.

νŠΉμ§•

  • λͺ¨λΈμ˜ μ˜ˆμΈ‘κ°’κ³Ό μ‹€μ œκ°’ 차이(Error) λ₯Ό μ ˆλŒ€κ°’μœΌλ‘œ λ³€ν™˜ν•˜μ—¬ ν‰κ· ν•œ 것
  • Error에 μ ˆλŒ€κ°’μ„ μ·¨ν•˜κΈ° λ•Œλ¬Έμ— μ—λŸ¬μ˜ 크기 κ·ΈλŒ€λ‘œ 반영
  • μ—λŸ¬μ— λ”°λ₯Έ 손싀이 μ„ ν˜•μ μœΌλ‘œ 올라갈 λ•Œ 적합
  • μ΄μƒμΉ˜κ°€ λ§Žμ„ λ•Œ μ‚¬μš©ν•˜κΈ° 적합
from sklearn.metrics import mean_absolute_error
mean_absolute_error(y_test, y_pred)

2. MSE (Mean Squared Error)

μŒμˆ˜κ°€ λ˜λŠ” μ˜€μ°¨κ°’μ„ λ§Œλ“€μ§€ μ•ŠλŠ” 방법은 μ ˆλŒ€κ°’ 말고도 μ œκ³±μ„ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€.

  • MAE μ—μ„œ μ‹€μ œ κ°’κ³Ό 예츑 κ°’μ˜ 차이(Error)λ₯Ό μ œκ³±ν•΄ ν‰κ· ν•œ 것

νŠΉμ§•

  • νŠΉμ΄κ°’μ΄ μ‘΄μž¬ν•˜λ©΄ μˆ˜μΉ˜κ°€ 많이 λŠ˜μ–΄λ‚¨
  • μ—λŸ¬μ— μ œκ³±μ„ ν•˜κΈ° λ•Œλ¬Έμ— μ—λŸ¬κ°€ 크면 클수둝 그에 λ”°λ₯Έ κ°€μ€‘μΉ˜κ°€ 높이 반영
from sklearn.metrics import mean_squared_error 
mean_squared_error(y_test, y_pred)

3. RMSE (Root Mean Squared Error)

  • MSE 값은 였차의 μ œκ³±μ„ κ΅¬ν•˜λ―€λ‘œ 값이 컀짐 κ·Έλž˜μ„œ MSE (Mean Squared Error)에 루트λ₯Ό μ”Œμš΄ RMSE (Root Mean Squared Error) 값을 μ‚¬μš©

νŠΉμ§•

  • MAE와 ν•¨κ»˜ κ°€μž₯ 일반적으둜 많이 μ“°μ΄λŠ” νšŒκ·€λͺ¨λΈ μ„±λŠ₯λΆ„μ„μ§€ν‘œ
  • μ—λŸ¬μ— λ”°λ₯Έ 손싀이 κΈ°ν•˜ κΈ‰μˆ˜μ μœΌλ‘œ μ˜¬λΌκ°€λŠ” μƒν™©μ—μ„œ μ“°κΈ° 적합
from sklearn.metrics import mean_squared_error 
MSE = mean_squared_error(y_test, y_pred) 
np.sqrt(MSE)

4. R2 Score (Coefficient of Determination )

μœ„ 세가지 μ§€ν‘œλŠ” Error 값이기 λ•Œλ¬Έμ— 값이 μž‘μ„ 수둝 μ’‹μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ R2 ScoreλŠ” λ‹€λ¦…λ‹ˆλ‹€.

νŠΉμ§•

  • 값이 1에 κ°€κΉŒμšΈ 수둝 μ„±λŠ₯이 μ’‹μŒ