빅데이터분석기사 실기 작업형 제2유형 캐글 데이터를 활용한 분류 모델 평가지표 ROC-AUC 올리기 전략 총정리

빅데이터분석기사 실기 작업형 제2유형에서 캐글 데이터를 활용한 분류 모델 평가지표 ROC-AUC를 올리는 전략은 단순 모델 선택의 문제가 아닙니다. 시험장에서 가장 많이 듣는 질문이 “모델은 돌렸는데 점수가 안 나와요”입니다. 실제로는 전처리, 결측 처리, 인코딩, 스케일링, 임계값 조정 등 기본 단계에서 점수가 갈립니다. 저 역시 여러 수험생 코드를 검토해보면 모델보다 데이터 처리에서 점수가 결정되는 경우가 훨씬 많았습니다.

 

특히 ROC-AUC는 정확도(Accuracy)와 다릅니다. 클래스 불균형 상황에서 Accuracy가 높아도 AUC는 낮을 수 있습니다. 시험에서는 단순 예측값이 아니라 확률값을 제출해야 점수가 제대로 반영됩니다. 오늘은 ROC-AUC를 안정적으로 끌어올리는 실전 전략을 단계별로 정리해보겠습니다.

 

ROC-AUC의 개념과 시험에서의 의미

ROC 곡선은 TPR(재현율)과 FPR(위양성률)의 관계를 나타내는 곡선입니다. AUC는 그 아래 면적입니다. 1에 가까울수록 분류 성능이 우수합니다.

 

ROC-AUC는 분류 임계값에 독립적인 지표입니다. 따라서 0과 1의 예측값이 아니라 predict_proba()의 확률값을 사용해야 합니다.

 

시험에서는 반드시 확률값을 제출해야 ROC-AUC 점수가 제대로 나옵니다.

 

데이터 전처리 단계에서 점수 차이 나는 부분

1) 결측치 처리: 평균 대체, 중앙값 대체, 또는 모델 기반 대체
2) 범주형 인코딩: One-Hot Encoding vs Label Encoding
3) 이상치 처리: IQR 방식 또는 로그 변환
4) 스케일링: StandardScaler 또는 MinMaxScaler

 

특히 트리 기반 모델(RandomForest, XGBoost)은 스케일링 영향이 적지만, 로지스틱 회귀는 영향을 받습니다.

 

결측치를 무작정 0으로 채우는 경우 ROC-AUC가 급락하는 사례를 자주 봅니다.

 

모델 선택과 튜닝 전략

시험에서는 빠르게 성능을 확보할 수 있는 모델이 유리합니다.

  • Logistic Regression (기본 베이스라인)
  • RandomForest
  • XGBoost
  • LightGBM

 

초기 전략은 다음과 같습니다.

  1. Logistic으로 베이스 점수 확인
  2. RandomForest로 비교
  3. XGBoost로 최적화

 

베이스 모델 점수를 확인한 후 점진적으로 개선해야 합니다.

 

하이퍼파라미터 조정 핵심 포인트

XGBoost 기준 주요 파라미터는 다음과 같습니다.

  • n_estimators
  • max_depth
  • learning_rate
  • subsample

 

learning_rate를 낮추고 n_estimators를 늘리면 안정적 성능 향상이 가능합니다. 단, 시험 시간 제한을 고려해야 합니다.

 

클래스 불균형 처리 전략

불균형 데이터에서는 다음 전략을 활용합니다.

  • class_weight=’balanced’
  • SMOTE 적용
  • scale_pos_weight 조정

 

ROC-AUC는 불균형 상황에서 특히 효과적인 지표입니다. 단순 정확도 상승에 집착하지 마세요.

 

평가지표 계산 코드 예시

from sklearn.metrics import roc_auc_score

y_pred = model.predict_proba(X_test)[:,1]
score = roc_auc_score(y_test, y_pred)
print(score)

 

[:,1]을 빼먹으면 오류가 발생합니다. 시험장에서 가장 흔한 실수입니다.

 

ROC-AUC 향상을 위한 체크리스트

단계 확인 사항 점수 영향
전처리 결측·이상치 처리 매우 높음
인코딩 범주형 처리 적절성 높음
모델 XGBoost 적용 여부 높음
확률 제출 predict_proba 사용 결정적

 

시험 시간 관리 전략

1단계: 데이터 탐색 10~15분
2단계: 베이스라인 모델 10분
3단계: 튜닝 및 개선 20~30분
4단계: 최종 코드 정리 10분

 

코드를 여러 번 수정하기보다, 구조를 먼저 설계하세요. 베이스 점수를 확보한 후 점진적으로 개선하는 방식이 안정적입니다.

 

빅데이터분석기사 실기 작업형 제2유형에서 ROC-AUC는 전략 싸움입니다. 복잡한 모델이 아니라, 정확한 전처리와 확률 예측이 점수를 만듭니다. predict 대신 predict_proba를 기억하세요. 기본기를 지키면 점수는 따라옵니다.

댓글 남기기