Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BigDataBowl Data Support #4

Merged
merged 18 commits into from
Oct 18, 2024
Merged

BigDataBowl Data Support #4

merged 18 commits into from
Oct 18, 2024

Conversation

UnravelSports
Copy link
Owner

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

@UnravelSports UnravelSports merged commit 663a024 into main Oct 18, 2024
3 checks passed
@UnravelSports UnravelSports deleted the feat/big-data-bowl branch October 19, 2024 04:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant