시작하기무료로 시작하기

랜덤 포레스트로 예측 만들기

최적의 포트폴리오를 예측하는 Machine Learning 모델을 학습하려면, 성능 평가를 위한 학습/테스트 세트를 만들어야 해요. 이전 장과 마찬가지로 featurestargets 배열을 준비하고, 우리가 정한 train_size에 따라 분할하겠습니다. 보통 학습 세트의 비율은 전체 데이터의 70~90% 정도예요.

그다음 모델(이번에는 랜덤 포레스트)을 학습 데이터에 맞추고, 모델의 .score()로 학습/테스트 R\(^2\) 점수를 평가해요. 이번에는 하이퍼파라미터가 미리 설정되어 있지만, 일반적으로는 이전 장에서처럼 ParameterGrid로 탐색을 수행하는 편이 좋아요.

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

Python으로 배우는 금융 분야 Machine Learning

강의 보기

연습 안내

  • features.shape 속성을 사용해 전체 학습 데이터의 85%가 되도록 train_size를 설정하세요.
  • Python 인덱싱을 사용해 targets에서 학습용과 테스트용 타깃을 만드세요.
  • 랜덤 포레스트 모델을 train_featurestrain_targets에 맞춰 학습하세요.

실습형 인터랙티브 연습

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

# Make train and test features
train_size = int(0.85 * ____)
train_features = features[:train_size]
test_features = features[train_size:]
train_targets = targets[____]
test_targets = targets[____]

# Fit the model and check scores on train and test
rfr = RandomForestRegressor(n_estimators=300, random_state=42)
rfr.fit(____, ____)
print(rfr.score(train_features, train_targets))
print(rfr.score(test_features, test_targets))
코드 편집 및 실행