<추가질문> RMSE vs. RMSLE vs. MAE
답변 감사드리고 지난 질문에서 강사님이 이해하지 못하신 부분에 대해 다시 설명드립니다.
첫번째 재질문
전 범위의 y 값에 걸쳐서 비슷한 오차(|actual - pred|)가 나타나면 RMSLE와 RMSE의 값은 비슷하게 떨어진다
=> 어떤 질문 내용인지는 대강 알겠는데, 비슷한 오차와 RMSLE와 RMSE값이 비슷하게 떨어진다는 것이 잘 매칭이 안되는군요. 다시한번 정의 부탁드립니다.
=> => 모델의 RMSE와 RMSLE가 둘 다 같은 값 (e.g. RMSE=RMSLE=0.4)을 가질 경우, "모델이 크게 잘못 예측한 것이 없다"라고 해석하면 되는 걸까요? 반대로 RMSE > RMSLE인 경우, RMSE는 크게 잘못 예측한 건에 대해 Penality를 주기 때문에 "모델이 크게 잘못한 경우가 있다"라고 해석을 하면 될까요?
두번째 재질문
2. 위의 2)와 같은 경우, Y의 값이 작은 경우에는 기존 모델을 통해 예측하고, Y의 값이 큰 경우 (기존 모델이 잘 예측하지 못하는 값들)에 대해서는 새로운 모델을 만드는 방법도 가능한가요? 아니면 새로운 모델을 만들기보다 LGBM 같은 leaf-wise 기법을 통해 Y의 값이 큰 경우 leaf node를 더 만듦으로써 해결이 가능하다고 생각하면 될까요?
=> 질문을 잘 이해못했습니다. 하나의 데이터를 기반으로 Y값에 따라서 동적으로 모델을 두개를 만든다는 것인지요? 새로운 모델을 만든다는게 어떤 의미인지요? 좀 더 자세히 말씀해 주셨으면 합니다.
=>=> 하나의 데이터를 기반으로 Y값에 따라서 동적으로 모델을 두개 만드는 것에 대한 의미의 질문이었습니다. 낮은 Y값에 대한 오차는 적은데 Y값이 큰 경우 오차가 크다면, 이를 분리해서 Y가 낮은 경우에는 A모델을 Y가 큰 경우에는 B모델을 만들어도 되는지에 대한 궁금증이었습니다. 이러한 문제를 leaf-wise 형태의 LGBM은 B모델을 따로 만들 필요없이 leaf를 추가적으로 생성함으로써 해결하는 것인지 궁금합니다.
번외로 대댓글로 재질문을 드릴 경우, 강사님께서 미처 확인을 하기 어려우시다면 질문을 따로 만드는 게 혹시 답변하시는데 더 편하신지 알려주시면 감사하겠습니다 :)
답변 1
0
첫번째 재질문
전 범위의 y 값에 걸쳐서 비슷한 오차(|actual - pred|)가 나타나면 RMSLE와 RMSE의 값은 비슷하게 떨어진다. 모델의 RMSE와 RMSLE가 둘 다 같은 값 (e.g. RMSE=RMSLE=0.4)을 가질 경우, "모델이 크게 잘못 예측한 것이 없다"라고 해석하면 되는 걸까요? 반대로 RMSE > RMSLE인 경우, RMSE는 크게 잘못 예측한 건에 대해 Penality를 주기 때문에 "모델이 크게 잘못한 경우가 있다"라고 해석을 하면 될까요?
=> RMSE와 RMSLE가 같은 값을 가질 경우는 지극히 적습니다. RMSE가 RMSLE보다 상당히 크게 됩니다. 물론 실제 Y값이 소수점 이하이고, 예측도 소수점 이하로 했을 때 RMSE가 RMSLE 보다 작을 확률도 있지만, RMSLE는 본질적으로 그런 목표를 가지고 만들어진게 아니라 RMSE에서 크게 잘못 예측한 건에 대한 Penalty부분을 완화시켜서 평가하고자 하는 메트릭입니다. 거의 대부분의 경우에 RMSE가 RMSLE보다 매우 큽니다.
모델이 특정 성능 평가지표에 좋다고 반드시 좋은 모델이 아닙니다. RMSE도 좋고, RMSLE도 좋으면 좋은 모델입니다. 물론 Kaggle과 같은 경연대회라면 약간의 차이라도 매우 중요하기 때문에 성능 평가 지표에 조금이라도 최적화하는게 필요하지만, 일반적인 모델에서 전반적인 성능 지표가 좋은 경우를 더 선호합니다.
두번째 재질문
2. 위의 2)와 같은 경우, Y의 값이 작은 경우에는 기존 모델을 통해 예측하고, Y의 값이 큰 경우 (기존 모델이 잘 예측하지 못하는 값들)에 대해서는 새로운 모델을 만드는 방법도 가능한가요? 아니면 새로운 모델을 만들기보다 LGBM 같은 leaf-wise 기법을 통해 Y의 값이 큰 경우 leaf node를 더 만듦으로써 해결이 가능하다고 생각하면 될까요?
하나의 데이터를 기반으로 Y값에 따라서 동적으로 모델을 두개 만드는 것에 대한 의미의 질문이었습니다. 낮은 Y값에 대한 오차는 적은데 Y값이 큰 경우 오차가 크다면, 이를 분리해서 Y가 낮은 경우에는 A모델을 Y가 큰 경우에는 B모델을 만들어도 되는지에 대한 궁금증이었습니다. 이러한 문제를 leaf-wise 형태의 LGBM은 B모델을 따로 만들 필요없이 leaf를 추가적으로 생성함으로써 해결하는 것인지 궁금합니다.
=> Y값의 분포에 따라서 동적으로 서로 배타적인 두개의 모델을 만들 수는 없습니다. 그리고 왜, LGBM 같은 leaf-wise 기법을 통해 Y의 값이 큰 경우 leaf node를 더 만듦으로써 해결이 가능하다고 생각하셨는지 잘 모르겠습니다. Y값이 불균일하게 되어 있는 경우라면 Log 변환으로 대부분의 경우 충분하게 보정되어 모델 성능 향상에 도움이 될 수 있습니다.
번외로 대댓글로 재질문을 드릴 경우, 강사님께서 미처 확인을 하기 어려우시다면 질문을 따로 만드는 게 혹시 답변하시는데 더 편하신지 알려주시면 감사하겠습니다 :)
=> 댓글로 재질문을 해주셔도 제가 다 답변드리지만, 근래 답변이 많아서 댓글로 재질문을 해주시면 제가 인지하지 못하고 넘어가는 경우가 있었습니다. 질문을 따로 만드는게 편하시게 그렇게 하셔도 무방합니다. 제가 인지하기는 더 쉽습니다.
감사합니다.
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
50
2
안녕하세요 열심히 수강중인 학생입니다
0
86
2
정수 인덱싱
0
86
2
넘파이 오류
0
108
2
11강 numpy의 axis 축 질문 드립니다.
0
106
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
93
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
76
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
83
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
73
2
5강 강의 오류가 있어요.
0
90
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
81
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
75
3
파이썬 다운그레이 후 사이킷런 재설치
0
128
2
좋은 강의 감사합니다.
0
79
2
scoring 함수 음수값
0
72
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
108
2
분류 평가 정확도 예측
0
87
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
114
1
카카오톡 채널 있나요
0
118
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
193
2
pca 스케일링 관련하여 질문드립니다.
0
109
2
주피터 대신 구글 코랩
0
184
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
155
2
실루엣 스코어..
0
91
2





