基于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)