Modèle de base

Remporter une compétition Kaggle en Python

Yauhen Babakhin

Kaggle Grandmaster

Étape de modélisation

 

composantes de l'étape de modélisation

Remporter une compétition Kaggle en Python

Étape de modélisation

 

modèle de base dans l'étape de modélisation

Remporter une compétition Kaggle en Python

Validation des taxis de New York

# Read data
taxi_train = pd.read_csv('taxi_train.csv')
taxi_test = pd.read_csv('taxi_test.csv')
from sklearn.model_selection import train_test_split

# Create local validation
validation_train, validation_test = train_test_split(taxi_train,
                                                     test_size=0.3,
                                                     random_state=123)
Remporter une compétition Kaggle en Python

Modèle de base I

import numpy as np
# Assign the mean fare amount to all the test observations
taxi_test['fare_amount'] = np.mean(taxi_train.fare_amount)

# Write predictions to the file taxi_test[['id','fare_amount']].to_csv('mean_sub.csv', index=False)
RMSE validation RMSE « Public LB » Position « Public LB »
9.986 9.409 1449 / 1500
Remporter une compétition Kaggle en Python

Modèle de base II

# Calculate the mean fare amount by group
naive_prediction_groups = taxi_train.groupby('passenger_count').fare_amount.mean()
# Make predictions on the test set
taxi_test['fare_amount'] = taxi_test.passenger_count.map(naive_prediction_groups)

# Write predictions to the file taxi_test[['id','fare_amount']].to_csv('mean_group_sub.csv', index=False)
RMSE validation RMSE « Public LB » Position « Public LB »
9.978 9.407 1411 / 1500
Remporter une compétition Kaggle en Python

Modèle de base III

# Select only numeric features
features = ['pickup_longitude', 'pickup_latitude',
            'dropoff_longitude', 'dropoff_latitude', 'passenger_count']
from sklearn.ensemble import GradientBoostingRegressor

# Train a Gradient Boosting model
gb = GradientBoostingRegressor()
gb.fit(taxi_train[features], taxi_train.fare_amount)

# Make predictions on the test data taxi_test['fare_amount'] = gb.predict(taxi_test[features])
Remporter une compétition Kaggle en Python

Modèle de base III

# Write predictions to the file
taxi_test[['id','fare_amount']].to_csv('gb_sub.csv', index=False)
RMSE validation RMSE « Public LB » Position « Public LB »
5.996 4.595 1109 / 1500
Remporter une compétition Kaggle en Python

Résultats intermédiaires

 

Modèle RMSE validation RMSE « Public LB »
Moyenne simple 9.986 9.409
Moyenne par groupe 9.978 9.407
Gradient Boosting 5.996 4.595
Remporter une compétition Kaggle en Python

Corrélation avec le tableau de classement public

 

Modèle RMSE validation RMSE « Public LB »
Modèle A 3.500 3.800
Modèle B 3.300 4.100
Modèle C 3.200 3.900

 

Modèle RMSE validation RMSE « Public LB »
Modèle A 3.400 3.900
Modèle B 3.100 3.400
Modèle C 2.900 3.300
Remporter une compétition Kaggle en Python

Passons à la pratique !

Remporter une compétition Kaggle en Python

Preparing Video For Download...