交叉驗證簡易航班時間模型
你已經建立過幾個用來預測航班時間的模型,並用簡單的訓練/測試切分來評估。不過,交叉驗證能更有效地評估模型效能。
在這個練習中,你將使用交叉驗證來訓練一個簡單的航班時間模型。旅行時間通常與距離高度相關,所以只用 km 欄位應該就能得到不錯的模型。
資料已隨機切分為 flights_train 與 flights_test。
以下類別都已經匯入:LinearRegression、RegressionEvaluator、ParamGridBuilder 和 CrossValidator。
本練習屬於課程
使用 PySpark 的機器學習
練習說明
- 建立一個空的參數網格。
- 建立用於建立與評估線性迴歸模型的物件。模型應預測「duration」欄位。
- 建立一個交叉驗證物件。為
estimator、estimatorParamMaps與evaluator參數提供值。選擇 5 折交叉驗證。 - 在訓練資料的多個折上訓練並測試模型。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-validation builds multiple models, the fit() method can take a little while to complete.