Proj-Caliber / Job-Care

데이콘의 잡케어 추천 알고리즘 경진대회 작업공간입니다.
1 stars 5 forks source link

Confusion Matrix 평가 관련 #7

Open yunyoseob opened 2 years ago

yunyoseob commented 2 years ago

실제 대회 제출 시에 target_0을 17.6%에서 0.7%으로 0의 예측값 수를 떨어뜨리고, target_1을 82.4%에서 99.3%까지 1의 예측값 수를 압도적으로 늘려도 점수는 잘 떨어지지 않습니다. (실제 대회 f1 score 0.66~0.67) 그러나, target_1의 예측비율을 82.4% target_0 의 예측비율을 17.6% 에서 target_1의 예측비율을 더 낮추면 실제 대회점수는 급하강 합니다. (물론 test데이터에 각 인덱스별 스코어가 다르므로, 비율에 따른 결과가 같지는 않을 것입니다. 그러나 우리는 실제 test데이터의 각 인덱스 별 정답을 모르기 때문에 이를 확인 하기 어렵습니다.)

f1 score는 (precision*recall)/(precision+recall)으로 이루어져 있고, precision=TP/(TP+FP), recall=TP/(TP+FN) 으로 이루어져 있습니다. target_1의 예측비율을 99.3%까지 늘려도 점수가 잘 안 떨어지는 이유는 FP가 높더라도, TP가 높고, FN이 낮아서 어느정도 방어가 되기 때문입니다. 그러나, target_0의 예측 비율을 높이게 되면 FP가 낮아지는 거에 비해 TP가 과도하게 떨어지고, FN이 과도하게 높아지면서 점수가 매우 낮아지게 됩니다.

따라서, 학습데이터로 실험 시에 타겟이 불균형한 테스트 데이터를 생성한 뒤, target 1의 예측 비율을 80~99%사이로 최대한 1로 예측시키면서, 채점 시에 TP의 비율을 최대로 유지하면서 (예측값을 대부분 1에 몰빵하면 FN은 자연스럽게 떨어집니다.), 동시에 FP를 최대한 낮추는 것도 좋은 전략이 될 것이라고 생각이 되어 의견글 남깁니다. (TP 최대화 FP 최소화의 접점을 찾자! 근데 이게 말이 쉽지 참 어려운 문제이긴 합니다. 좋은 의견 있으면 남겨주시면 감사하겠습니다.)