基于sklearn.metrics.roc_auc_score的几种多分类AUC计算方式

 

以A、B、C三类为例,步骤如下:

1、        测试集共m个样本,分别计算每个样本与对比集的cos距离(对比集由A、B、C三类构成),根据结果构建概率矩阵P[m*3],再基于one-hot构建标签矩阵L[m*3];

2、        P的每一列即各样本属于该列对应类别的概率,则可以计算每个类别的ROC曲线和auc值;

3、        计算整体ROC曲线和auc值

(1)   方法一:macro,对n条ROC曲线取平均,即可得到最终的ROC曲线

分析:该方法不考虑类别不均衡的影响;

(2)   方法二:micro,参考下面

 

 

 

计算总的TP rate和FP rate,然后计算ROC曲线和auc值。

(3) 方法三:weighted,通过每个类别的TP数所占比例进行加权平均;

备注:目前sklearn.metrics.roc_auc_score(仅支持macro 和 weighted)

posted @ 2021-01-25 09:32  outthinker  阅读(7081)  评论(0编辑  收藏  举报