Model bazowy oparty na dacie
Zbudowaliśmy już 3 różne modele bazowe. Dla utrwalenia wiedzy stwórzmy jeszcze kilka kolejnych. Pierwszy model opiera się na zmiennych grupujących. Cena przejazdu może zależeć od pory dnia – na przykład w godzinach szczytu taryfy bywają wyższe.
Twoim celem jest zbudowanie modelu bazowego, który przypisze średnią wartość "fare_amount" dla odpowiedniej godziny. Na razie stworzysz model na podstawie całego zbioru train i wygenerujesz prognozy dla zbioru test.
DataFrame'y train i test są dostępne w twoim środowisku pracy. Kolumna "pickup_datetime" w obu z nich została już przekonwertowana na obiekt datetime.
To ćwiczenie jest częścią kursu
Zwycięstwo w konkursie Kaggle w Pythonie
Instrukcje do ćwiczenia
- Pobierz godzinę z kolumny "pickup_datetime" dla DataFrame'ów
trainitest. - Oblicz średnią wartość "fare_amount" dla każdej godziny na danych treningowych.
- Wygeneruj prognozy dla zbioru
test, używając metodymap()z bibliotekipandasoraz uzyskanego grupowania. - Zapisz prognozy do pliku.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)