以梯度提升為基準模型
我們來建立一個以 Random Forest 為基礎的最終基準模型。你在影片中已看到,從分組基準到 Gradient Boosting,分數有大幅提升。現在,你將使用 sklearn 的 Random Forest 來進一步提升分數。
本練習的目標是取用數值特徵,並在不進行調參的情況下訓練一個 Random Forest 模型。之後,你可以在測試資料上產生預測,並在 Public Leaderboard 上驗證結果。注意,你已經有一個 "hour" 特徵,也可以作為模型的輸入。
本練習屬於課程
用 Python 拿下 Kaggle 競賽
練習說明
- 將
"hour"特徵加入數值特徵清單。 - 在含有數值特徵的訓練資料上,以
"fare_amount"為目標,擬合RandomForestRegressor。 - 使用已訓練的 Random Forest 模型在測試資料上進行預測。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
from sklearn.ensemble import RandomForestRegressor
# Select only numeric features
features = ['pickup_longitude', 'pickup_latitude', 'dropoff_longitude',
'dropoff_latitude', 'passenger_count', ____]
# Train a Random Forest model
rf = RandomForestRegressor()
rf.____(train[____], train.fare_amount)
# Make predictions on the test data
test['fare_amount'] = ____.____(test[features])
# Write predictions
test[['id','fare_amount']].to_csv('rf_sub.csv', index=False)