Baseline basata sulla data
Abbiamo già costruito 3 diversi modelli di baseline. Per fare un po' di pratica in più, costruiamone un paio ancora. Il primo modello si basa sulle variabili di raggruppamento. È chiaro che la tariffa della corsa può dipendere dal momento della giornata. Ad esempio, i prezzi potrebbero essere più alti durante le ore di punta.
Il tuo obiettivo è costruire un modello di baseline che assegni la "fare_amount" media per l'ora corrispondente. Per ora, creerai il modello sull'intero insieme di dati train e farai le previsioni sul dataset test.
I DataFrame train e test sono disponibili nel tuo workspace. Inoltre, la colonna "pickup_datetime" in entrambi i DataFrame è già stata convertita in un oggetto datetime per te.
Questo esercizio fa parte del corso
Vincere una competizione Kaggle con Python
Istruzioni dell'esercizio
- Estrai l'ora dalla colonna "pickup_datetime" per i DataFrame
trainetest. - Calcola la "fare_amount" media per ciascuna ora sui dati di train.
- Crea le previsioni su
testusando il metodomap()dipandase il raggruppamento ottenuto. - Scrivi le previsioni su file.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)