| """Implements the Atomic-VAEP framework. | |
| Attributes | |
| ---------- | |
| xfns_default : list(callable) | |
| The default VAEP features. | |
| """ | |
| from typing import Optional | |
| import socceraction.atomic.spadl as spadlcfg | |
| from socceraction.vaep.base import VAEP | |
| from . import features as fs | |
| from . import formula as vaep | |
| from . import labels as lab | |
| xfns_default = [ | |
| fs.actiontype, | |
| fs.actiontype_onehot, | |
| fs.bodypart, | |
| fs.bodypart_onehot, | |
| fs.time, | |
| fs.team, | |
| fs.time_delta, | |
| fs.location, | |
| fs.polar, | |
| fs.movement_polar, | |
| fs.direction, | |
| fs.goalscore, | |
| ] | |
| class AtomicVAEP(VAEP): | |
| """ | |
| An implementation of the VAEP framework for atomic actions. | |
| In contrast to the original VAEP framework [1]_ this extension | |
| distinguishes the contribution of the player who initiates the action | |
| (e.g., gives the pass) and the player who completes the action (e.g., | |
| receives the pass) [2]_. | |
| Parameters | |
| ---------- | |
| xfns : list | |
| List of feature transformers (see :mod:`socceraction.atomic.vaep.features`) | |
| used to describe the game states. Uses :attr:`~socceraction.vaep.base.xfns_default` | |
| if None. | |
| nb_prev_actions : int, default=3 | |
| Number of previous actions used to decscribe the game state. | |
| See Also | |
| -------- | |
| :class:`socceraction.vaep.VAEP` : Implementation of the original VAEP framework. | |
| References | |
| ---------- | |
| .. [1] Tom Decroos, Lotte Bransen, Jan Van Haaren, and Jesse Davis. | |
| "Actions speak louder than goals: Valuing player actions in soccer." In | |
| Proceedings of the 25th ACM SIGKDD International Conference on Knowledge | |
| Discovery & Data Mining, pp. 1851-1861. 2019. | |
| .. [2] Tom Decroos, Pieter Robberechts and Jesse Davis. | |
| "Introducing Atomic-SPADL: A New Way to Represent Event Stream Data". | |
| DTAI Sports Analytics Blog. https://dtai.cs.kuleuven.be/sports/blog/introducing-atomic-spadl:-a-new-way-to-represent-event-stream-data # noqa | |
| May 2020. | |
| """ | |
| _spadlcfg = spadlcfg | |
| _lab = lab | |
| _fs = fs | |
| _vaep = vaep | |
| def __init__( | |
| self, | |
| xfns: Optional[list[fs.FeatureTransfomer]] = None, | |
| nb_prev_actions: int = 3, | |
| ) -> None: | |
| xfns = xfns_default if xfns is None else xfns | |
| super().__init__(xfns, nb_prev_actions) | |