balanced_accuracy_score#
- sklearn.metrics.balanced_accuracy_score(y_true, y_pred, *, sample_weight=None, adjusted=False)[source]#
计算平衡准确率。
平衡准确率用于处理二分类和多分类问题中不平衡数据集。它被定义为在每个类别上获得的召回率的平均值。
当
adjusted=False
时,最佳值为 1,最差值为 0。在用户指南中阅读更多内容。
0.20 版本新增。
- 参数:
- y_true形状为 (n_samples,) 的类数组
真实(正确)的目标值。
- y_pred形状为 (n_samples,) 的类数组
分类器返回的估计目标值。
- sample_weight形状为 (n_samples,) 的类数组,默认为 None
样本权重。
- adjusted布尔值,默认为 False
当为 True 时,结果会根据偶然性进行调整,使得随机性能得分为 0,同时将完美性能保持在 1。
- 返回:
- balanced_accuracy浮点数
平衡准确率分数。
另请参阅
average_precision_score
根据预测分数计算平均精确度(AP)。
precision_score
计算精确率分数。
recall_score
计算召回率分数。
roc_auc_score
根据预测分数计算受试者工作特征曲线下面积(ROC AUC)。
备注
一些文献提出了平衡准确率的其他定义。我们的定义等同于使用类别平衡样本权重的
accuracy_score
,并与二分类情况共享理想特性。请参阅用户指南。参考文献
[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). 《预测数据分析的机器学习基础:算法、实例和案例研究》。
示例
>>> 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