Han
일본 금융계에서 일하는 데이터 사이언티스트입니다.
신용 모델은 승인한 고객의 결과만 보고 학습합니다. 그런데 정작 평가는 거절한 사람까지 포함한 전체 신청자에게 하죠. 승인된 사람만 본 모델을 전체에 그대로 들이대면 편향됩니다. 이 표본 선택 편향을 바로잡는 게 거절 추론(reject inference)입니다.
신용 리스크 업계에선 수십 년 된 표준 주제인데, 막상 파이썬 도구가 비어 있었습니다. R에는 있는데 파이썬 스코어카드 라이브러리들은 거절 추론을 아예 다루지 않더군요. 그래서 직접 만들어 공개했습니다.
rejectkit은 고전 기법 여덟 가지를 scikit-learn 스타일 한 API로 묶었습니다. 진짜 차별점은 따로 있어요. 거절 추론은 만능이 아니라 어떤 데이터에선 오히려 손해를 봅니다. 그래서 "이 보정이 내 데이터에서 정말 도움이 되는지"를 먼저 재는 벤치마크(MaskedRejectBenchmark)를 넣었습니다. 실제로 합성 데이터에선 거의 손해였는데, 실데이터(Kaggle Home Credit)에선 손실의 7~8%를 회복했습니다. 데이터마다 다르니 믿고 쓰지 말고 먼저 측정하자는 게 이 라이브러리의 메시지입니다.
신용이나 대출 ML뿐 아니라, 합격한 사람만 결과가 보이는 모든 선택 편향 상황에도 같은 원리가 적용됩니다. 채용 성과 예측이나, 플래그된 건만 라벨링되는 사기 탐지 같은 것들이요.
pip install rejectkit 로 바로 쓸 수 있고, 배경과 실험은 블로그에 정리해 뒀습니다.
GitHub: https://github.com/HangilKim11/rejectkit
PyPI: https://pypi.org/project/rejectkit/
글: https://han-co.com/ko/blog/rejectkit
rejectkit
승인한 고객만 보고 배운 신용 모델의 편향을 바로잡는 거절 추론 라이브러리. 쓰기 전에 내 데이터에서 효과 있는지부터 평가해 줍니다. (파이썬 오픈소스)