開始使用免費開始

航班時間模型:加入更多特徵!

讓我們把更多特徵加入模型。這不一定會帶來更好的模型。加入某些特徵可能會改善模型,但加入其他特徵可能會讓結果變差。

更多特徵會「一定」讓模型更複雜,也更難解釋。

接下來的模型你會加入以下特徵:

  • km
  • org(起飛機場,one-hot 編碼,8 個層級)
  • depart(起飛時間,依每 3 小時分箱,one-hot 編碼,8 個層級)
  • dow(起飛星期幾,one-hot 編碼,7 個層級),以及
  • mon(起飛月份,one-hot 編碼,12 個層級)。

這些已組合成 features 欄位,為 32 個欄位的稀疏表示法(記得 one-hot 編碼產生的欄位數會比層級數少 1)。

資料以 flights 提供,並隨機分割為 flights_trainflights_test

本練習使用航班資料的一小部分子集。

本練習屬於課程

使用 PySpark 的機器學習

檢視課程

練習說明

  • 對訓練資料擬合線性迴歸模型。
  • 針對測試資料產生預測值。
  • 計算測試資料的 RMSE。
  • 檢視模型係數。是否有任何係數為 0?

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

from pyspark.ml.regression import ____
from pyspark.ml.evaluation import ____

# Fit linear regression model to training data
regression = ____(____).____(____)

# Make predictions on testing data
predictions = regression.____(____)

# Calculate the RMSE on testing data
rmse = ____(____).____(____)
print("The test RMSE is", rmse)

# Look at the model coefficients
coeffs = regression.____
print(coeffs)
編輯並執行程式碼