시작하기무료로 시작하기

모델 조정

극도로 불균형한 사기 거래 데이터에 대응하기 위해 랜덤 포레스트 모델을 조정하는 간단한 방법 중 하나는 sklearn 모델을 정의할 때 class_weights 옵션을 사용하는 거예요. 다만 보시다시피 이 방법은 다소 무딘 도구에 가까워서, 특정한 상황에서는 잘 맞지 않을 수도 있어요.

이번 연습 문제에서는 앞선 연습에서 만든 Random Forest 모델에 weight = "balanced_subsample" 모드를 적용해 보려고 합니다. 데이터는 이미 학습/테스트 세트로 분할되어 있어 X_train, X_test, y_train, y_test를 사용할 수 있어요. 성능 평가용 metrics 함수들도 이미 임포트되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 배우는 사기 탐지

강의 보기

연습 안내

  • 분류기의 class_weight 인자를 balanced_subsample로 설정하세요.
  • 학습 세트에 모델을 fit 하세요.
  • X_test에서 예측값과 예측 확률을 구하세요.
  • roc_auc_score, 분류 보고서, 그리고 혼동 행렬을 구하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)

# Fit your training model to your training set
model.fit(____, ____)

# Obtain the predicted values and probabilities from the model 
predicted = ____.____(____)
probs = ____.____(____)

# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))
코드 편집 및 실행