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: MaxedPlayerAttribute #89

Closed LswaN58 closed 1 year ago

LswaN58 commented 1 year ago

ON HOLD: I've got to double-check ordering of how feature values come to the second-order feature.

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 and 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, when the TopAttribute value was 6. 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, where the .
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

7aa3515a34416a49a4f4447b67617ff657e40f62 Note: Attribute max value is 10, not 6