opengamedata / opengamedata-core

Python framework for extracting features from OpenGameData event datasets.
https://opengamedata.fielddaylab.wisc.edu/
MIT License
1 stars 3 forks source link

Journalism: TopPlayerAttribute #88

Closed LswaN58 closed 1 year ago

LswaN58 commented 1 year ago

A per-count feature, with prefix attr. This is per-attribute, so a range of 0-5. It only runs at population level.

It should be a second-order feature, that takes TopAttribute-Names as input. The value of the base feature should be the name of the attribute (you can hard-code the mapping; someday we'll allow you to just define a list and have that directly in the feature name prefix...). There should be one subfeature:

  1. Count : An int counting the number of times the given attribute appeared in the list of a player's top attributes. It should only count when the given FeatureData event has a mode of ExtractionMode.PLAYER. Suppose the hard-coded list was attributes = ["Tech", "Trust", ...], then the feature can just check if the FeatureData value (a list) contains attributes[self.CountIndex]. It can then count the number of times this is true.
From all this, we should end up with a table that looks something like: attr0_TopPlayerAttribute attr0_TopPlayerAttribute-Count attr1_TopPlayerAttribute attr1_TopPlayerAttribute-Count ...
'Tech' 56 'Trust' 42 ...
zstud04 commented 1 year ago

7f24b3186f34323cece9d0154671e3e56a841290

zstud04 commented 1 year ago

Note: Currently TopPlayerAttribute and WorstPlayerAttribute are using session mode from the 1st order feature, as opposed to player.