计算常见的ood检测指标
ood-metrics的Python项目详细描述
ood检测指标
用于计算分布外(ood)检测领域常用度量的函数。
安装
pip install ood-metrics
度量函数
极光
使用数据上的无威胁预测和二进制真标签计算并返回roc曲线下的区域。
fromood_metricsimportauroclabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]print(auroc(scores,labels))# 0.75
AUPR
使用数据上的无威胁预测和二进制真标签计算并返回精确召回曲线下的区域。
fromood_metricsimportauprlabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]print(aupr(scores,labels))# 0.25
95%tpr下的fpr
当tpr至少为95%时,返回fpr。
fromood_metricsimportfpr_at_95_tprlabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]print(fpr_at_95_tpr(scores,labels))# 0.25
检测误差
当tpr为95%时,返回错误分类概率。
fromood_metricsimportdetection_errorlabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]print(detection_error(scores,labels))# 0.125
计算所有统计值
使用预测和标签,返回包含所有新颖性检测性能统计信息的字典。
fromood_metricsimportcalc_metricslabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]print(calc_metrics(scores,labels))# {# 'fpr_at_95_tpr': 0.25,# 'detection_error': 0.125,# 'auroc': 0.75,# 'aupr_in': 0.25,# 'aupr_out': 0.94375# }
绘图功能
绘制roc
基于未受威胁的预测和真实的二进制标签绘制roc曲线。
fromood_metricsimportplot_roclabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]plot_roc(scores,labels)# Generate Matplotlib AUROC plot
绘图pr
根据未受威胁的预测和真实的二进制标签绘制精确召回曲线。
fromood_metricsimportplot_prlabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]plot_pr(scores,labels)# Generate Matplotlib Precision-Recall plot
打印条形码
绘制一个可视化图,显示按新奇性预测排序的内联和异常值。
fromood_metricsimportplot_barcodelabels=[0,0,0,1,0]scores=[0.1,0.3,0.6,0.9,1.3]plot_barcode(scores,labels)# Shows visualization of sort order of labels occording to the scores.