코딩헤딩

[ML(머신러닝)] KNN 회귀모델 -2 <절대평균오차(MAE)> 본문

머신러닝 | 딥러닝

[ML(머신러닝)] KNN 회귀모델 -2 <절대평균오차(MAE)>

멈머이 2023. 12. 24. 15:05
728x90

https://coding-heading.tistory.com/86

 

[ML(머신러닝)] KNN 회귀모델 -1

* KNN회귀모델 - K Nearest Neighbor 1. 데이터 확인 1) 길이로 무게 예측하기 perch_length.shape, perch_weight.shape 결과 : ((56,), (56,)) - 길이 : 문제(독립변수) / 무게(연속형) : 답(종속변수) 2) 산점도 그리기 import

coding-heading.tistory.com

위 글에서 데이터를 가지고 모델생성 후 테스트 데이터로 예측해 보고 해석까지 해보았다. 

그 결과 모델의 튜닝이 필요했다.

 

* 튜닝 전 데이터 수치 : 훈련 : 0.9698823289099254 / 테스트 : 0.992809406101064

 

1. 모델 평가하기 : 평균절대오차(MAE)

<평균절대오차(MAE; Mean Absolute Error)>
  - 회귀에서 사용하는 평가 방법
  - 예측값과 실제값과의 거리 차이를 평균하여 계산한 값
  - 즉, 사용된 이웃들과의 거리차를 절대값으로 평균한 값

 

라이브러리 정의 

from sklearn.metrics import mean_absolute_error

 

 1) 예측하기

test_pred = knr.predict(test_input)
test_pred

결과 : array([  60. ,   79.6,  248. ,  122. ,  136. ,  847. ,  311.4,  183.4,
                      847. ,  113. , 1010. ,   60. ,  248. ,  248. ])

 

 2) 평가하기

mae = mean_absolute_error(test_target, test_pred)
mae

결과 : 19.157142857142862

<해석>

- 해당 모델을 이용해서 예측을 할 경우에는 평균적으로 약 19.157g 정도의 차이(오차)가 있는 결과를 얻을 수 있음.

- 즉, 예측결과는 약 19.157g 정도의 차이가 있음.

728x90