開始使用免費開始

使用隨機森林進行預測

為了訓練機器學習模型來預測理想的投資組合,我們需要建立訓練集與測試集來評估效能。我們會和前幾章相同,將 featurestargets 陣列依照我們設定的 train_size 進行切分。訓練集的比例通常約為資料的 70–90%。

接著,我們將模型(此處為隨機森林)擬合到訓練資料,並使用模型的 .score() 在訓練與測試資料上評估 R\(^2\) 分數。這裡的超參數已經為你設定好,但在實務上你通常會像前幾章那樣,使用 ParameterGrid 進行搜尋。

本練習屬於課程

Python 金融 Machine Learning

檢視課程

練習說明

  • 使用 features.shape 屬性,將 train_size 設為完整訓練資料的 85%。
  • 使用 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))
編輯並執行程式碼