Keeneland race model
A hackathon XGBoost model that ranks the likely top finishers of Keeneland races.
The model's top three: Diblasi, Ohoopee, Twirling Ridge.
Built over a race weekend: ~319k historical entries become per-horse and per-jockey profiles by surface, track condition, distance, pairing, recent form and odds, feeding a multi-class XGBoost model that outputs a ranked top five for each race.
Lesson
Looking back, the horse and jockey aggregates use each horse's whole history and validation rows were split at random, so later races leak into the features. Computing them strictly from earlier races, and validating on later dates, is the fix, and most of the work in sports prediction.
Next: DatoteA browser-based statistics workbench: drop in a CSV, get charts, tests and cleanup.