balanced_accuracy_score#

sklearn.metrics.balanced_accuracy_score(y_true, y_pred, *, sample_weight=None, adjusted=False)#

计算平衡准确率。

在二分类和多分类问题中处理不平衡数据集的平衡准确率。它被定义为每个类别的召回率的平均值。

adjusted=False 时,最佳值为1,最差值为0。

更多信息请参阅 用户指南

Added in version 0.20.

Parameters:
y_true类似数组,形状为 (n_samples,)

真实目标值(正确的)。

y_pred类似数组,形状为 (n_samples,)

分类器返回的估计目标。

sample_weight类似数组,形状为 (n_samples,), 默认=None

样本权重。

adjustedbool, 默认=False

当为真时,结果会根据机会进行调整,因此随机性能会得分为0,而完美性能得分为1。

Returns:
balanced_accuracyfloat

平衡准确率得分。

See also

average_precision_score

从预测分数计算平均精度(AP)。

precision_score

计算精度得分。

recall_score

计算召回得分。

roc_auc_score

从预测分数计算接收者操作特征曲线(ROC AUC)下的面积。

Notes

一些文献提倡平衡准确率的其他定义。我们的定义等同于具有类平衡样本权重的 accuracy_score ,并与二分类情况共享理想的特性。请参阅 用户指南

References

[1]

Brodersen, K.H.; Ong, C.S.; Stephan, K.E.; Buhmann, J.M. (2010). 平衡准确率及其后验分布。第20届国际模式识别会议论文集,3121-24。

[2]

John. D. Kelleher, Brian Mac Namee, Aoife D’Arcy, (2015). 预测数据分析的机器学习基础:算法、工作示例和案例研究 .

Examples

>>> from sklearn.metrics import balanced_accuracy_score
>>> y_true = [0, 1, 0, 0, 1, 0]
>>> y_pred = [0, 1, 0, 0, 0, 1]
>>> balanced_accuracy_score(y_true, y_pred)
0.625