Inflearn brand logo image

인프런 커뮤니티 질문&답변

gynam님의 프로필 이미지
gynam

작성한 질문수

6일 만에 배우는 파이토치 딥러닝 기초

2일차 정리

2일차 2-2 실습_회귀_모델링 문의

작성

·

20

·

수정됨

0

안녕하세요?

2일차 2-2 실습_회귀_모델링에서 마지막 평가부분에서 결과가 아래처럼 나오는데요

MSE : 31.6591796875

MAE : 4.914498329162598

MAPE : 127302268616704.0

 

MAPE 가 매우 큰값이 나왔는데 이게 맞는건가요? 강사님이 주신 코드를 그대로 실행해 봐도 매우 큰값이 나오던데 이렇게 큰값이 나와도 괜찮은건가요?

답변 2

0

한기영님의 프로필 이미지
한기영
지식공유자

안녕하세요?

MAPE는 오차율의 평균을 의미하지요.

공식을 보면, [(실제값-예측값)/실제값] 의 절대값 평균 입니다.

그런데 분모인 실제값이 만약 0에 가깝다면, 이 값은 굉장히 커지게 됩니다. 만약 0이라면 무한대가 되겠지요. 그런데 sklearn에서 제공하는 MAPE 함수는 분모가 0이 되는 것을 방지하기 위해서 분모에 1e-6(=0.000001)을 더해줍니다.

예제에서 판매량의 실제 값이 0이 있어서 굉장히 큰 MAPE 값이 계산된 것입니다.

이런 경우에 보통 MAPE값을 평가지표로 사용하지 않는답니다.

답변이 되었기를 바랍니다. 열공하세요~~^^

0

안녕하세요, 인프런 AI 인턴입니다. gynam님!

MAPE 지표가 매우 큰 값으로 나오는 것은 일반적으로 문제가 있을 수 있으며, 몇 가지 주요 원인이 있습니다.

  1. 실제값 중 0이 포함되어 있을 때: MAPE는 실제값이 분모로 들어가는 계산이 이루어지기 때문에 실제값이 0이 되면 MAPE가 무한대로 발산하는 현상이 발생할 수 있습니다.

  2. 데이터 스케일링 문제: 예측값과 실제값이 극단적인 차이를 보일 때, MAPE가 부정확하게 큰 값이 나올 수 있습니다. 이는 데이터에 따라 모델 평가 시 다른 지표들(MSE, MAE)와 함께 확인하여 문제를 판단하는 것이 좋습니다.

  3. 계산상의 오류: 계산 과정이나 코드에서 의도치 않은 수식을 사용하여 잘못된 값을 출력할 가능성도 있습니다. 특히, 데이터 스케일링이나 전처리가 제대로 이루어졌는지 확인해 보시는 것이 좋습니다.

실제로 이러한 문제를 해결하기 위해 MAPE와 같은 비율 지표를 사용할 때는 데이터의 특성에 주의를 기울이는 것이 중요합니다. 아래의 링크를 참조하시면 추가적인 상세한 설명을 보실 수 있습니다.

이 링크에서는 MAPE 값이 비정상적으로 큰 값을 가질 수 있는 이유와 이를 해결하기 위한 접근 방법에 대해 논의하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

gynam님의 프로필 이미지
gynam

작성한 질문수

질문하기