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_predcan be corrected with the index balanced accuracy.
y_scorecannot be used since the dominance cannot be computed.
Read more in the User Guide.
- alphafloat, optional (default=0.1)
- squaredbool, optional (default=True)
squaredis True, then the metric computed will be squared before to be weighted.
Returns the scoring metric decorated which will automatically compute the index balanced accuracy.
García, Vicente, Javier Salvador Sánchez, and Ramón Alberto Mollineda. “On the effectiveness of preprocessing methods when dealing with different levels of class imbalance.” Knowledge-Based Systems 25.1 (2012): 13-21.
>>> 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]