Gradient Boosting 기반 베이스라인
이번에는 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)