Random Forest:建模
和梯度提升樹一樣,隨機森林也是一種「集成模型(ensemble model)」。也就是說,它會使用許多較簡單的模型(同樣是決策樹),並將它們結合成一個更好的模型。隨機森林不是反覆執行同一個模型,而是同時平行訓練許多彼此獨立的模型,每個模型各自使用隨機抽取的資料子集與特徵子集。最後的決策則透過彙整各個模型的結果來進行預測。
sparklyr 的隨機森林函式是 ml_random_forest()。它的用法與 ml_gradient_boosted_trees() 完全相同(語法可參考本章第一個練習的說明)。
本練習屬於課程
使用 R 的 sparklyr:Spark 入門
練習說明
已為你建立一個名為 spark_conn 的 Spark 連線。另有一個已預先定義的 tibble,連結到儲存在 Spark、經過合併與篩選的曲目中繼資料/timbre 資料,名稱為 track_data_to_model_tbl。
- 使用隨機森林模型,重做你的年份預測分析。
- 從
track_data_to_model_tbl取得timbre欄位,並將結果指定給feature_colnames。 - 使用
reformulate()建立模型所需的公式。 - 執行隨機森林模型,並將結果指定給
random_forest_model。
- 從
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# track_data_to_model_tbl has been pre-defined
track_data_to_model_tbl
# Get the timbre columns
feature_colnames <- ___
# Create the formula for the model
year_formula <- ___
# Run the random forest model
random_forest_model <- ___