-
Notifications
You must be signed in to change notification settings - Fork 6
Description
With the new metrics object almost finalised, we need to decide on the names. Currently, the object looks like this:
class GroupedMetric
def __init__(self, metric_functions,
y_true, y_pred, *,
sensitive_features,
conditional_features=None,
sample_params=None)
@property
def overall(self)
@property
def by_group(self)
def group_max(self)
def group_min(self)
# Other accepted method is 'to_overall'
def difference(self, method='minmax')
# Other accepted method is 'to_overall'
def ratio(self, method='minmax')With the exception of __init__ all names here are potentially changeable. The ones I think are most 'controversial' are the class name, and the method= argument and its accepted values (if others think differently, those can be discussed too). I will update this starting post with suggestions from the discussion to save everyone having to read through the whole thread each time.
Options for the class name
Some thoughts
MetricsFrame
Consensus is on this. Use 'metrics' since 'metric' could be an adjective and not a noun.
Options for method=minmax
There are two components - the name of the argument itself, and its accepted values. The latter could potentially depend on the former.
For the argument name
method=
Consensus is to stick with method=
For the allowed values:
between_pairs(replacesminmaxwhich has other meanings)to_overall
There isn't a huge amount of love for these, but there's a shortage of concise alternatives that don't suffer from similar ambiguity issues.
Options for group_min/max()
Stick with group_min()/max(). They do have value when there are conditional features present.
Options for conditional features
conditional_featuresother_featurescondition_onsplit_byconditioned_onconditioning_features(might sound like a shampoo advert)
Sample Params
sample_params
Keep as sample_params. The most meaningful alternative is sample_props, and that wasn't felt to be a significant difference.