日付特徴量
これまでに数値変数を使って基本的な特徴量を作成しました。次は、日付と時刻に基づく特徴量を作成していきます。ここでは Kaggle の Taxi Fare Prediction コンペティションのデータからサブサンプルを使います。データはタクシー乗車に関する情報で、各乗車の料金を予測することが目的です。
目標は、pickup の日時から日付系の特徴量を作成することです。学習用とテスト用のデータには、可能であれば同時に新しい特徴量を作成するのが望ましいことを思い出してください。特徴量を作成したら、データを train と test の DataFrame に分割し直します。ここでは pandas の isin() メソッドを使って分割します。
train と test の DataFrame はすでにワークスペースに用意されています。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
演習の手順
trainとtestの DataFrame を連結して、単一の DataFrametaxiを作成します。- 「pickup_datetime」列を
datetimeオブジェクトに変換します。 - 「pickup_datetime」列から、曜日(
.dayofweek属性)と時(.hour属性)の特徴量を作成します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Concatenate train and test together
taxi = ____.____([train, test])
# Convert pickup date to datetime object
taxi['pickup_datetime'] = ____.____(taxi['pickup_datetime'])
# Create a day of week feature
taxi['dayofweek'] = taxi['pickup_datetime'].dt.____
# Create an hour feature
taxi['hour'] = taxi['pickup_datetime'].dt.____
# Split back into train and test
new_train = taxi[taxi['id'].isin(train['id'])]
new_test = taxi[taxi['id'].isin(test['id'])]