用 Random Forest 預測延誤航班
在這個練習中,你會把交叉驗證與集成方法結合起來。你將訓練一個 Random Forest 分類器來預測航班是否延誤,並使用交叉驗證來挑選最佳的模型參數。
你要為下列參數找出合適的數值:
featureSubsetStrategy— 在每個節點進行分裂時要考慮的特徵數量;以及maxDepth— 任一分支的最大分裂深度。
建立這個模型所需時間太長,因此我們不會在 pipeline 上執行 .fit() 方法。
RandomForestClassifier 類別已經在本次工作階段中匯入。
本練習屬於課程
使用 PySpark 的機器學習
練習說明
- 建立一個 random forest 分類器物件。
- 建立一個參數網格建構器物件,為
featureSubsetStrategy與maxDepth參數加入網格點。 - 建立二元分類評估器。
- 建立一個交叉驗證器物件,指定估計器、參數網格與評估器,並設定使用 5 折交叉驗證。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a random forest classifier
forest = ____()
# Create a parameter grid
params = ____() \
.____(____, ['all', 'onethird', 'sqrt', 'log2']) \
.____(____, [2, 5, 10]) \
.____()
# Create a binary classification evaluator
evaluator = ____()
# Create a cross-validator
cv = ____(____, ____, ____, ____)