시작하기무료로 시작하기

Random forests

Random Forests는 부트스트랩 집계(줄여서 bagging)를 통해 개별 결정 트리를 활용하는 고전적이면서 강력한 앙상블 방법입니다. 이 모델에서 핵심 하이퍼파라미터는 트리의 개수와 각 트리의 최대 깊이입니다. 이 연습 문제에서는 일부 고정된 하이퍼파라미터 값으로 간단한 random forest 분류기를 구현하고 평가해 보겠습니다.

X_train, y_train, X_test, y_test가 작업 공간에 준비되어 있어요. pandaspd, numpynp로, 그리고 sklearn도 사용할 수 있습니다. 또한 sklearn.ensembleRandomForestClassifier()sklearn.metricsroc_curve(), auc()도 사용할 수 있어요.

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

Python으로 Machine Learning을 활용한 CTR 예측

강의 보기

연습 안내

  • 트리 50개, 최대 깊이 5인 random forest 분류기를 생성하세요.
  • 분류기를 학습한 뒤, 테스트 데이터에 대해 .predict_proba()로 확률 점수를, .predict()로 예측 값을 구하세요.
  • 먼저 roc_curve()fprtpr을 계산하고, 그 결과에 auc()를 적용해 분류기의 ROC 곡선 AUC를 평가하세요.
  • 분류기의 정밀도(precision)와 재현율(recall)을 평가하세요.

실습형 인터랙티브 연습

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

# Create random forest classifier with specified params
clf = ____(____ = 50, ____ = 5)

# Train classifier - predict probability score and label
y_score = clf.____(X_train, y_train).____(X_test) 
y_pred = clf.____(X_train, y_train).____(X_test) 

# Get ROC curve metrics
fpr, tpr, thresholds = ____(y_test, y_score[:, 1])
print("ROC of AUC: %s"%(____(fpr, tpr)))

# Get precision and recall
precision = ____(y_test, y_pred, average = 'weighted')
recall = ____(y_test, y_pred, average = 'weighted')
print("Precision: %s, Recall: %s" %(precision, recall))
코드 편집 및 실행