1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 금융 분야 Machine Learning

Connected

연습 문제

랜덤 포레스트 하이퍼파라미터 튜닝

모든 모델과 마찬가지로, 하이퍼파라미터를 튜닝해 성능을 최적화하고자 합니다. 랜덤 포레스트에는 여러 하이퍼파라미터가 있지만, 가장 중요한 것 중 하나는 매 분할 시 샘플링할 특성 수, 즉 sklearn 라이브러리의 RandomForestRegressor에서 max_features입니다. 또한 랜덤성이 내장된 모델(예: 랜덤 포레스트)의 경우 결과 재현을 위해 random_state를 설정하는 것도 중요합니다.

일반적으로는 sklearn의 GridSearchCV()로 하이퍼파라미터 탐색을 하지만, 금융 시계열에서는 데이터가 섞이는 교차 검증을 피하고자 합니다. 우리는 오래된 데이터로 학습하고 최신 데이터로 평가해야 합니다. 따라서 이번에는 sklearn의 ParameterGrid를 사용해 탐색할 하이퍼파라미터 조합을 생성하겠습니다.

지침

100 XP
  • grid 딕셔너리에서 n_estimators 하이퍼파라미터를 값이 하나(200)인 리스트로 설정하세요.
  • grid 딕셔너리에서 max_features 하이퍼파라미터를 4와 8을 담은 리스트로 설정하세요.
  • 루프에서 각 하이퍼파라미터 조합 g에 대해, 랜덤 포레스트 회귀 모델(rfr, 이미 생성됨)을 train_features와 train_targets에 적합하세요.
  • test_features에 대해 rfr.score()로 R$^2$을 계산하고, 그 결과를 test_scores 리스트에 추가하세요.