범주형 데이터 세트의 불균형 문제
178
投稿した質問数 1
안녕하세요, 수업을 듣다가 fraud detection을 예시로 주셨던 범주형 데이터 속성중에 세트 자체에서 불균형이 큰 경우, 예를 들어 yes 는 1000 개고 no 가 5개 밖에 없는 극단적인 불균형이 있을 때는 모델의 정확도를 맞추기 어렵다고 설명주신 부분에 질문이 있어요.
저도 사실 제 프로젝트를 하던중에 비슷한 문제가 있었어서 SMOTE같은 방법을 써서 어떻게 해서든 불균형 문제를 완화해보려고 노력했는데 주어진 데이터 자체가 너무 불균형이 심하면 설명주셨던 것처럼 별다른 방법을 찾지 못했습니다. 만약 그럼에도 불구하고 그 데이터가 중요한 속성들과 데이터라면 어떻게 다루는 것이 좋을까요?
제가 예전에 했던 방법은 정확하게는 기억이 나지 않지만 그 그룹군을 아예 나누어 data frame을 따로 짜서 분석을 진행해보려고 했던 것 같아요. (예시: no = fraud 그룹군 df, yes = non_fraud 그룹군)
실질적으로는 보통 어떻게 접근하거나 해결하는 지 궁금합니다...!
回答 1
0
네 좋은 질문인 것 같아요. 실제로 데이터 불균형 (unbalanced data)관련해서는 job interview에서 전형적으로 물어보는 질문 중 하나입니다. 데이터의 특징에 따라 여러가지 방법을 적용해볼수있는데, 실무에서 가장 많이 사용하는 방법은 앙상블(ensemble) 기법입니다. XGBoost 를 많이 사용하는데, scale_pos_weight 같은 패러미터를 써서 weight조절이 가능합니다. 그 외에도 SMOTE 같은 방식(오버샘플링)이 있지만, 이 경우 새로운 데이터가 실제 데이터 분포를 충분히 반영하지 못할 수 있기 때문에 추가로 판단해야 되구요. 언더샘플링 방식도 있지만 말씀하신 것처럼 극단적인 불균형에는 어울리지 않아 보입니다. 이외에도 Isolation Forest, Autoencoder 방식 등이 있기도 합니다. 각각 데이터 특성에 따라 섞어서 쓰기도 하고, 모든 방식을 쓴 다음 performance를 비교해서 채택하기도 합니다. 좋은 질문입니다 소요요님!!
기출 11회 작업형 2_전체 데이터 학습 여부
0
11
1
RateLimitError
0
7
2
예측값 결과 소수점 차이
0
16
2
여태까지 발견한 이슈들 공유드립니다.
1
16
1
기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?
0
13
0
전처리 train() test([ ])
0
14
2
작업형 1 배경지식 질문
0
17
2
옳게 풀은건지 질문드립니다!
0
13
1
roc_auc_score
0
22
2
재귀함수 연산법
0
11
2
추가질문 합니다
0
13
2
시험환경 구름
0
16
2
2유형 질문드려요
0
13
2
RandomForest vs lgb
0
22
2
전처리 관련질문
0
21
3
수강기간즘연장해주세요
0
12
1
작업형3 기출
0
15
2
유형2에서 데이터분할 생략 가능여부
0
27
2
9회 기출 유형3 질문
0
17
2
lgb 기초편
0
12
1
수업자료 문의
0
18
2
괄호 사용
0
20
2
작업형 2 데이터 전처리 질문
0
21
1
11회 기출 유형 작업형1 문제 3-1
0
17
1

