Modelo básico

Vencendo uma competição do Kaggle em Python

Yauhen Babakhin

Kaggle Grandmaster

Etapa de modelagem

 

componentes da etapa de modelagem

Vencendo uma competição do Kaggle em Python

Etapa de modelagem

 

modelo básico na etapa de modelagem

Vencendo uma competição do Kaggle em Python

Validação do táxi de NYC

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

# Criar validação local
validation_train, validation_test = train_test_split(taxi_train,
                                                     test_size=0.3,
                                                     random_state=123)
Vencendo uma competição do Kaggle em Python

Modelo básico I

import numpy as np
# Atribua a tarifa média a todas as observações de teste
taxi_test['fare_amount'] = np.mean(taxi_train.fare_amount)

# Escreva as previsões no arquivo taxi_test[['id','fare_amount']].to_csv('mean_sub.csv', index=False)
RMSE de validação RMSE da LB pública Posição na LB pública
9.986 9.409 1449 / 1500
Vencendo uma competição do Kaggle em Python

Modelo básico II

# Calcule a tarifa média por grupo
naive_prediction_groups = taxi_train.groupby('passenger_count').fare_amount.mean()
# Faça previsões no conjunto de teste
taxi_test['fare_amount'] = taxi_test.passenger_count.map(naive_prediction_groups)

# Escreva as previsões no arquivo taxi_test[['id','fare_amount']].to_csv('mean_group_sub.csv', index=False)
RMSE de validação RMSE da LB pública Posição na LB pública
9.978 9.407 1411 / 1500
Vencendo uma competição do Kaggle em Python

Modelo básico III

# Selecione apenas features numéricas
features = ['pickup_longitude', 'pickup_latitude',
            'dropoff_longitude', 'dropoff_latitude', 'passenger_count']
from sklearn.ensemble import GradientBoostingRegressor

# Treine um modelo Gradient Boosting
gb = GradientBoostingRegressor()
gb.fit(taxi_train[features], taxi_train.fare_amount)

# Faça previsões nos dados de teste taxi_test['fare_amount'] = gb.predict(taxi_test[features])
Vencendo uma competição do Kaggle em Python

Modelo básico III

# Escreva as previsões no arquivo
taxi_test[['id','fare_amount']].to_csv('gb_sub.csv', index=False)
RMSE de validação RMSE da LB pública Posição na LB pública
5.996 4.595 1109 / 1500
Vencendo uma competição do Kaggle em Python

Resultados intermediários

 

Modelo RMSE de validação RMSE da LB pública
Média simples 9.986 9.409
Média por grupo 9.978 9.407
Gradient Boosting 5.996 4.595
Vencendo uma competição do Kaggle em Python

Correlação com a leaderboard pública

 

Modelo RMSE de validação RMSE da LB pública
Modelo A 3.500 3.800
Modelo B 3.300 4.100
Modelo C 3.200 3.900

 

Modelo RMSE de validação RMSE da LB pública
Modelo A 3.400 3.900
Modelo B 3.100 3.400
Modelo C 2.900 3.300
Vencendo uma competição do Kaggle em Python

Vamos praticar!

Vencendo uma competição do Kaggle em Python

Preparing Video For Download...