베이스라인 모델

Python으로 Kaggle 대회 공략하기

Yauhen Babakhin

Kaggle Grandmaster

모델링 단계

 

모델링 단계 구성요소

Python으로 Kaggle 대회 공략하기

모델링 단계

 

모델링 단계의 베이스라인 모델

Python으로 Kaggle 대회 공략하기

뉴욕시 택시 검증

# 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)
Python으로 Kaggle 대회 공략하기

베이스라인 모델 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 공개 LB RMSE 공개 LB 순위
9.986 9.409 1449 / 1500
Python으로 Kaggle 대회 공략하기

베이스라인 모델 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 공개 LB RMSE 공개 LB 순위
9.978 9.407 1411 / 1500
Python으로 Kaggle 대회 공략하기

베이스라인 모델 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])
Python으로 Kaggle 대회 공략하기

베이스라인 모델 III

# Write predictions to the file
taxi_test[['id','fare_amount']].to_csv('gb_sub.csv', index=False)
검증 RMSE 공개 LB RMSE 공개 LB 순위
5.996 4.595 1109 / 1500
Python으로 Kaggle 대회 공략하기

중간 결과

 

모델 검증 RMSE 공개 LB RMSE
단순 평균 9.986 9.409
그룹 평균 9.978 9.407
그래디언트 부스팅 5.996 4.595
Python으로 Kaggle 대회 공략하기

공개 리더보드와의 상관

 

모델 검증 RMSE 공개 LB RMSE
모델 A 3.500 3.800
모델 B 3.300 4.100
모델 C 3.200 3.900

 

모델 검증 RMSE 공개 LB RMSE
모델 A 3.400 3.900
모델 B 3.100 3.400
모델 C 2.900 3.300
Python으로 Kaggle 대회 공략하기

Vamos praticar!

Python으로 Kaggle 대회 공략하기

Preparing Video For Download...