日付に基づくベースライン
すでに 3 つの異なるベースラインモデルを作成しました。さらに練習するために、もう少し作ってみましょう。最初のモデルはグルーピング変数に基づきます。時間帯によって乗車料金が変わることは明らかです。たとえば、ラッシュアワーは料金が高くなるかもしれません。
今回の目標は、該当する時間ごとに平均の "fare_amount" を割り当てるベースラインモデルを作ることです。まずは train 全体でモデルを作成し、test データセットに対して予測を行います。
train と test の各 DataFrame はワークスペースに用意されています。さらに、両方の DataFrame にある "pickup_datetime" 列は、すでに datetime オブジェクトに変換済みです。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
演習の手順
trainおよびtestの各 DataFrame で、"pickup_datetime" 列から時(hour)を取得します。- train データで、時間ごとの平均 "fare_amount" を計算します。
- 得られたグルーピングを使い、
pandasのmap()メソッドでtestの予測を作成します。 - 予測結果をファイルに書き出します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get pickup hour from the pickup_datetime column
train['hour'] = train['pickup_datetime'].dt.____
test['hour'] = test['pickup_datetime'].dt.____
# Calculate average fare_amount grouped by pickup hour
hour_groups = train.____('____')['____'].mean()
# Make predictions on the test set
test['fare_amount'] = test.hour.map(____)
# Write predictions
test[['id','fare_amount']].____('hour_mean_sub.csv', index=False)