시작하기무료로 시작하기

현실적인 비용 분석

이번 연습 문제에서도 신용 데이터세트를 사용해요. 이 데이터에서 "positive"는 "신용 불량"을 의미해요. 즉, 대출을 연체한 고객이고, "negative"는 문제없이 상환을 계속한 고객이에요. 은행 지점장은 "good risk" 고객 1명당 평균 10K의 이익이 발생하고, "bad risk" 고객 1명당 150K의 손실이 난다고 알려줬어요. 여러분의 알고리즘은 신청자 심사에 사용되며, "negative"로 분류되면 대출을 승인하고, "positive"로 분류되면 거절해요. 그렇다면 여러분의 분류기의 총 비용은 얼마일까요? 데이터는 X_train, X_test, y_train, y_test로 제공돼요. confusion_matrix(), f1_score(), precision_score(), RandomForestClassifier() 함수도 사용할 수 있어요.

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

Python으로 설계하는 Machine Learning 워크플로

강의 보기

연습 안내

  • 학습 데이터에 랜덤 포레스트 분류기를 학습하세요.
  • 이를 사용해 테스트 데이터에 레이블을 예측하세요.
  • confusion_matrix()에서 false negative와 false positive를 추출하세요. 행렬을 1차원으로 펼쳐야 해요.
  • "좋은" 고객을 "나쁜" 고객으로 잘못 분류하면 은행은 10K의 이익 기회를 잃어요. "나쁜" 고객을 "좋은" 고객으로 잘못 분류하면 고객의 연체로 인해 150K의 손실이 발생해요.

실습형 인터랙티브 연습

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

# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)

# Label the test data
preds = clf.____(____)

# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()

# Now compute the cost using the manager's advice
cost = fp*____ + fn*____
코드 편집 및 실행