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