フライト所要時間モデル:特徴量をさらに追加!
モデルにさらに特徴量を追加してみましょう。これは必ずしもモデルを良くするとは限りません。ある特徴量は精度を上げる一方で、別の特徴量は悪化させることもあります。
特徴量を増やすと、モデルは常に複雑になり、解釈が難しくなります。
次のモデルに含める特徴量は次のとおりです。
kmorg(出発空港、ワンホットエンコード、8水準)depart(出発時刻、3時間区切りでビニング後にワンホットエンコード、8水準)dow(出発曜日、ワンホットエンコード、7水準)mon(出発月、ワンホットエンコード、12水準)
これらは features 列にまとめられており、32列のスパース表現になっています(ワンホットエンコードでは水準数より1つ少ない列が生成されることを思い出してください)。
データは flights として用意されており、ランダムに flights_train と flights_test に分割されています。
この演習はフライトデータの小さなサブセットに基づいています。
この演習はコースの一部です
Machine Learning with PySpark
演習の手順
- 学習データに線形回帰モデルを当てはめてください。
- テストデータに対する予測を生成してください。
- テストデータでのRMSEを計算してください。
- モデルの係数を確認してください。ゼロの係数はありますか?
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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)