villekuosmanen / F1Predict

GNU Lesser General Public License v3.0
37 stars 12 forks source link

Add track-specific Elo scores to model #62

Closed villekuosmanen closed 4 years ago

villekuosmanen commented 4 years ago

While the driver, constructor and engine have an Elo score, this score is the same for all tracks. To take the track into account, each of them needs to have a special score for each track as well.

To do this, all the Elo classes should have map for track-specific elo scores. As an example, EloDriver already has the line self.trackRatings = {}. In this map, they key should be the track id, and the value should be the Elo score.

This score should be adjusted up and down in the same way the driver's own Elo score is adjusted. When a driver, constructor or engine first race in a track, their value should be initialised to 2200.

The track Elo scores should also be used in getGaElo(). They should have some small weight, such as 3% for each (make sure overall weights add up to 100% for now).