基线模型

用 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 公共榜 RMSE 公共榜排名
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 公共榜 RMSE 公共榜排名
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 公共榜 RMSE 公共榜排名
5.996 4.595 1109 / 1500
用 Python 赢下 Kaggle 竞赛

中间结果

 

模型 验证 RMSE 公共榜 RMSE
简单均值 9.986 9.409
分组均值 9.978 9.407
梯度提升 5.996 4.595
用 Python 赢下 Kaggle 竞赛

与公共排行榜的相关性

 

模型 验证 RMSE 公共榜 RMSE
模型 A 3.500 3.800
模型 B 3.300 4.100
模型 C 3.200 3.900

 

模型 验证 RMSE 公共榜 RMSE
模型 A 3.400 3.900
模型 B 3.100 3.400
模型 C 2.900 3.300
用 Python 赢下 Kaggle 竞赛

Passons à la pratique !

用 Python 赢下 Kaggle 竞赛

Preparing Video For Download...