Skip to content

v0.2.0

Latest
Compare
Choose a tag to compare
@UnravelSports UnravelSports released this 18 Oct 17:07
663a024

I’ve added support for BigDataBowl data. The implementation of the AmericanFootballGraphConverter converter uses a different approach than SoccerGraphConverter (previously GraphConverter). Since it relies on Polars instead of Kloppy.

The API works in a very similar manner, but some parameters are different between AmericanFootballGraphConverter and SoccerGraphConverter both because the sports are fundamentally different and because the data comes from different sources.

These differences can be seen in Graphs FAQ, Section B

All computed node features and edge features can be found in Graphs FAQ, Section C. Compared to the soccer implementation we now also include, for example:

  • Height and weight
  • Is Quarterback
  • Acceleration
  • Body Orientation

Additionally we provide a BigDataBowlDataset class to easily load all relevant data sources into the AmericanFootballGraphConverter via the dataset parameter, and to add labels and dummy graph ids. The BigDataBowlDataset requires 3 parameters, namely:

  • tracking_file_path (ie. week1.csv)
  • players_file_path (ie. players.csv)
  • plays_file_path (ie. plays.csv)

This PR also includes tests for the American Football implementation and some other minor fixes for the Soccer implementation. As well as an abstraction from GraphConverter to DefaultGraphConverter which is now inherited by both AmericanFootballGraphConverter and SoccerGraphConverter.

Under the hood the same logic follow for DefaultGraphSettings.

The minor fixes include:

  • Renaming AdjacencyMatrixType.DENSE_ATTACKING_PLAYERS to AdjacencyMatrixType.DENSE_AP
  • Renaming AdjacencyMatrixType.DENSE_DEFENSIVE_PLAYERS to AdjacencyMatrixType.DENSE_DP