본문 바로가기
728x90

ImbalancedData2

[PYTHON] 불균형 데이터셋 해결을 위한 SMOTE 한계와 7가지 대안 방법 및 성능 차이 금융 사기 탐지(Fraud Detection), 희귀 질병 진단, 시스템 장애 예측 등 현실 세계의 데이터는 대부분 불균형 데이터셋(Imbalanced Data)의 형태를 띱니다. 다수 클래스(Majority)가 99%를 차지할 때, 모델이 모든 샘플을 다수 클래스로 예측만 해도 정확도(Accuracy)는 99%가 나오지만 정작 중요한 소수 클래스(Minority)는 전혀 찾아내지 못하는 '정확도의 역설'에 빠지게 됩니다. 이를 해결하기 위해 가장 널리 쓰이는 기법이 바로 SMOTE(Synthetic Minority Over-sampling Technique)입니다. 하지만 SMOTE는 만능이 아닙니다. 본 포스팅에서는 SMOTE가 가진 결정적인 한계와 이를 극복하기 위한 7가지 전문적인 대안 기술을 심.. 2026. 4. 19.
[PYTORCH] WeightedRandomSampler를 이용한 불균형 데이터 처리 방법 및 7가지 실무 해결 가이드 현실 세계의 데이터는 결코 공평하지 않습니다. 암 진단 데이터셋에서 정상 데이터가 99%이고 암 데이터가 1%인 상황은 매우 흔합니다. 이러한 **클래스 불균형(Class Imbalance)** 상황에서 일반적인 무작위 샘플링을 사용하면, 모델은 단순히 다수 클래스만 맞추도록 학습되어 정작 중요한 소수 클래스를 식별하지 못하게 됩니다. PyTorch의 WeightedRandomSampler는 이러한 통계적 편향을 학습 파이프라인 레벨에서 우아하게 해결할 수 있는 강력한 도구입니다. 본 가이드에서는 가중치 계산의 수학적 원리부터 7가지 실무 시나리오별 구현 예제까지 상세히 다룹니다.1. 불균형 데이터 문제와 WeightedRandomSampler의 필요성모델 학습 시 DataLoader에서 shuffle=.. 2026. 3. 25.
728x90