Using Machine Learning To Predict Paris Olympics
Jamie Zimmerman / July 2024
496 Words, 3 Minutes
See my GitHub for this project: ml-predicting-olympic-marathon.
Using Machine Learning to Predict the Winner of the Women's Marathon at the Paris 2024 Olympics đ„đââïž
Iâm a big fan and spectator of professional endurance sports, Womenâs distance running in particular, and I run quite a bit myself, so I decided to combine my programming skills and running fanaticism together to stretch my machine-learning chops. I wrote this project to predict the winner of the Womenâs Marathon at the 2024 Paris Olympics. I trained a model on data from competitorâs past performances: what races they ran, in which countries and when, and most importantly what time they ran. It also includes their birth date and their nationality.
I got training data from World Athletics. I didnât scrape their website HTML, but by inspecting the page I was able to find out that they have a GraphQL API that drives their data retrieval. (They donât know that Iâve done this, but itâs a public site and Iâm not DDOS-ing them or making money off them)
I used a regression model (not classification) because I want to predict continuous values - each competitorâs race time. Then I made a prediction on each athlete in the new venue on the new date, got their race time, and sorted by time to see who will medal in this event.
Model Predictions
Hereâs the full output of predictions for each athleteâs race time:
Polynomial Model Accuracy score is: 0.3874858240673147
---------- Athlete Predicted Results ----------
SCHLUMPF, Fabienne (SUI): 02:52:46
ELMORE, Malindi (CAN): 02:56:36
MCCORMACK, Fionnuala (IRL): 03:30:02
WEIGHTMAN, Lisa (AUS): 03:34:44
ALEMU, Megertu (ETH): 03:37:13
XIA, Yuyu (CHN): 03:37:53
VAN ZYL, Irvette (RSA): 03:38:56
ZHANG, Deshun (CHN): 03:40:01
TESFU, Dolshi (ERI): 03:40:25
BAI, Li (CHN): 03:40:37
SHANKULE, Amane Beriso (ETH): 03:43:12
WOLDU, Mekdes (FRA): 03:45:04
MAEDA, Honami (JPN): 03:45:34
KOSGEI, Brigid (KEN): 03:45:35
TIYOURI, Maor (ISR): 03:46:02
TAHIRI, Rahma (MAR): 03:47:48
BEKELE, Helen (SUI): 03:47:49
SUZUKI, Yuka (JPN): 03:48:23
CHELANGAT, Mercyline (UGA): 03:48:30
JOHANNES, Helalia (NAM): 03:48:32
ICHIYAMA, Mao (JPN): 03:50:45
HOSODA, Ai (JPN): 03:50:46
LOKEDI, Sharon (KEN): 03:50:51
ESHETE, Shitaye (BRN): 03:51:14
GEBRESLASE, Gotytom (ETH): 03:51:17
CHUMBA, Eunice Chebichii (BRN): 03:51:22
CHELIMO, Rose (BRN): 03:51:36
SAKILU, Jackline (TAN): 03:51:38
JEPCHIRCHIR, Peres (KEN): 03:51:44
BAYARTSOGT, Munkhzaya (MGL): 03:52:14
KEJETA, Melat Yisak (GER): 03:52:42
MAKATISI, Mokulubete Blandina (LES): 03:52:55
MAAYOUF, Majida (ESP): 03:53:25
SHAURI, Magdalena (TAN): 03:53:45
BORELLI, Florencia (ARG): 03:54:02
BJELJAC, Bojana (CRO): 03:54:40
STEYN, Gerda (RSA): 03:57:04
MUKANDANGA, Clementine (RWA): 03:58:08
FARKOUSSI, Kaoutar (MAR): 03:58:24
HASSAN, Sifan (NED): 03:59:46
OBIRI, Hellen (KEN): 04:01:08
CHESANG, Stella (UGA): 04:01:13
MAYER, Julia (AUT): 04:01:36
PURDUE, Charlotte (GBR): 04:02:14
RICHARDSSON, Camilla (FIN): 04:02:28
CHEPTEGEI, Rebecca (UGA): 04:04:12
ORJUELA, Angie (COL): 04:04:21
O'KEEFFE, Fiona (USA): 04:04:42
STENSON, Jessica (AUS): 04:05:20
DIVER, Sinead (AUS): 04:05:37
MERINGOR, Delvine Relin (ROU): 04:06:52
FRENCH, Camille (NZL): 04:07:18
TEJEDA, Gladys (PER): 04:08:07
GALBADRAKH, Khishigsaikhan (MGL): 04:08:30
GASHAW, Tigist (BRN): 04:09:34
CHACHA, Rosa Alva (ECU): 04:09:37
OUHADDOU NAFIE, Fatima Azzahraa (ESP): 04:09:43
ROJAS, Luz Mery (PER): 04:10:07
ASSEFA, Tigst (ETH): 04:10:30
SALPETER, Lonah Chemtai (ISR): 04:12:54
PARLOV KOĆ TRO, Matea (CRO): 04:13:12
SANTOS, Susana (POR): 04:14:04
TROFIMOVA, Sardana (KGZ): 04:14:46
LUIJTEN, Anne (NED): 04:15:12
MELLY, Joan Chelimo (ROU): 04:15:24
PERRIER, Marie (MRI): 04:16:09
MAMAZHANOVA, Zhanna (KAZ): 04:16:19
MACH, Angelika (POL): 04:16:23
GREGSON, Genevieve (AUS): 04:18:01
JULIEN, Mélody (FRA): 04:18:14
STEWARTOVĂ, Moira (CZE): 04:19:14
SISSON, Emily (USA): 04:19:18
MCCLAIN, Jessica (USA): 04:21:32
LISOWSKA, Aleksandra (POL): 04:22:11
OCAMPO, Daiana (ARG): 04:22:40
SCHĂNEBORN, Deborah (GER): 04:23:32
TRAPP, Manon (FRA): 04:23:55
HOTTENROTT, Laura (GER): 04:26:44
HERNANDEZ FLORES, Margarita (MEX): 04:27:53
HAUGER-THACKERY, Calli (GBR): 04:28:54
VALDIVIA, Thalia (PER): 04:29:35
MAYER, Domenika (GER): 04:30:21
HROCHOVĂ, Tereza (CZE): 04:39:32
SOLER, Meritxell (ESP): 04:40:06
VERBRUGGEN, Hanne (BEL): 04:42:52
NAVARRETE, Esther (ESP): 04:44:07
EPIS, Giovanna (ITA): 04:47:31
CRISTIAN MOSCOTE, Citlali (MEX): 04:48:33
HERBIET, Chloé (BEL): 04:49:28
WIKSTRĂM, Carolina (SWE): 04:50:25
NYAHORA, Rutendo Joan (ZIM): 04:51:46
ROLLIN, Méline (FRA): 04:54:42
YAREMCHUK, Sofiia (ITA): 04:57:19
ORTIZ MOROCHO, Silvia Patricia (ECU): 05:03:30
GRANJA, Mary Zenaida (ECU): 05:03:32
LINDWURM, Dakotah (USA): 05:06:10
GARDADI, Fatima Ezzahra (MAR): 05:09:12
EVANS, Clara (GBR): 05:11:20
OLDKNOW, Cian (RSA): 05:18:38
HARVEY, Rose (GBR): 05:42:17