사기 탐지를 위한 Random Forest 조정하기
이 연습 문제에서는 랜덤 포레스트 분류기의 옵션을 살펴보면서, 숲에 있는 결정 트리의 가중치를 지정하고 형태를 조정해 볼 거예요. 불균형을 조금 보정하기 위해 가중치를 직접 정의하겠습니다. 현재 데이터는 사기 300건, 정상 7000건이므로, 가중치 비율을 1:12로 두면 학습 시 사기 1/3, 정상 2/3에 가까운 비율로 맞춰져 모델 학습에 충분해요.
이 연습의 데이터는 이미 학습용과 테스트용으로 분할되어 있으니, 여러분은 모델 정의에만 집중하시면 돼요. 이후 get_model_results() 함수를 지름길로 사용할 수 있어요. 이 함수는 이전 연습에서 했던 단계처럼, 모델을 학습 데이터에 적합하고 예측한 뒤 성능 지표를 계산해 줍니다.
이 연습은 강의의 일부입니다
Python으로 배우는 사기 탐지
연습 안내
- 비사기와 사기 사례의 비율이 1 대 12가 되도록
weight옵션을 변경하고, 분할 기준은 'entropy'로 설정하세요. - 최대 깊이를 10으로 설정하세요.
- 리프 노드의 최소 샘플 수를 10으로 설정하세요.
- 모델에서 사용할 트리 개수를 20으로 설정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)