Evaluators are parsed through a function that does not have **kwargs, so one cannot use other parametrizations than the default.
Will this change a current behavior? How?
One will be able, as required by my project, to have the precision and recall by label and not an average of labels, which can only be changed by setting the proper parameter, as done below. Furthermore, with only this change, any king of extra parametrization for the evaluators will be possible
Given the structure of the function of the generic evaluator _generic_sklearnevaluator, it seems to me that to have **kwargs was the intention since the beginning, but they missed the kwarg in the individual evaluator's wrappers, as it can be read in its definition:
def generic_sklearn_evaluator(name_prefix: str, sklearn_metric: Callable[..., float]) -> UncurriedEvalFnType:
"""
Returns an evaluator build from a metric from sklearn.metrics
Parameters
----------
name_prefix: str
The default name of the evaluator will be name_prefix + target_column.
sklearn_metric: Callable
Metric function from sklearn.metrics. It should take as parameters y_true, y_score, kwargs.
Instructions
from
to
Describe the feature and the current state.
Will this change a current behavior? How?
precision_evaluator(target_column=target, average=None, labels=[0, 1])
Extra information