imblearn.metrics.make_index_balanced_accuracy

imblearn.metrics.make_index_balanced_accuracy(alpha=0.1, squared=True)[source][source]

Balance any scoring function using the index balanced accuracy

This factory function wraps scoring function to express it as the index balanced accuracy (IBA). You need to use this function to decorate any scoring function.

Only metrics requiring y_pred can be corrected with the index balanced accuracy. y_score cannot be used since the dominance cannot be computed.

Parameters:

alpha : float, optional (default=0.1)

Weighting factor.

squared : bool, optional (default=True)

If squared is True, then the metric computed will be squared before to be weighted.

Returns:

iba_scoring_func : callable,

Returns the scoring metric decorated which will automatically compute the index balanced accuracy.

Examples

>>> from imblearn.metrics import geometric_mean_score as gmean
>>> from imblearn.metrics import make_index_balanced_accuracy as iba
>>> gmean = iba(alpha=0.1, squared=True)(gmean)
>>> y_true = [1, 0, 0, 1, 0, 1]
>>> y_pred = [0, 0, 1, 1, 0, 1]
>>> print(gmean(y_true, y_pred, average=None))
[ 0.44444444  0.44444444]