3 个版本
0.1.5-alpha.0 | 2023 年 3 月 25 日 |
---|---|
0.1.4-alpha.0 | 2023 年 3 月 3 日 |
0.1.3-alpha.0 | 2023 年 3 月 2 日 |
#9 in #ap
每月 26 下载
用于 caffe2op-args
1MB
5.5K SLoC
该 caffe2op-apmeter
Rust crate 提供了一组用于测量分类模型平均精度(AP)的工具。它包含一个 APMeter
类的实现,用于根据预测标签和真实标签计算 AP 指标。该 crate 定义了一个 APMeterOp
,这是一个计算 AP 值的算子,它使用存储在 APMeter
实例中的中间结果。
注意:此 crate 正在从 C++ 转换为 Rust,某些函数体可能仍在翻译过程中。
该 crate 包含一些实用函数,例如 BufferPredictions
,用于在内存中保存预测标签,以及 Reclaim
,可用于释放 BufferPredictions
占用的内存。 BufferDataType
是一个枚举,定义了用于存储预测的缓冲区中的数据类型,可以是 F32
或 F64
。
AP
符号表示由 APMeterOp
计算的平均精度值。该 crate 还包含一些其他符号,如 classification
、labelData
、ntruth
、prediction
、rotate
和 truncate
,它们在分类过程中使用,但它们的用法从提供的标记列表中不清楚。
总的来说,caffe2op-apmeter
crate 为评估分类模型的性能提供了有用的工具,特别是用于测量平均精度。
9> 谢谢!你能提供更多关于“平均精度”以及如何使用的数学细节吗?
当然可以!平均精度(AP)是评估机器学习模型在分类任务中的性能时常用的指标,特别是在对象检测和图像检索中。
AP 是一个单标量值,用于概括给定预测集的精度-召回曲线(PR 曲线)。PR 曲线通过在各个阈值下,将预测正例中的真正例比例(精度)与实际正例中的真正例比例(召回)进行对比来绘制。更高的阈值会导致预测正例数量减少,但这些预测对分类的信心更高;而较低的阈值会导致预测正例数量增加,但会以降低信心为代价。
为了计算 AP,我们首先计算 PR 曲线下方的面积。该面积通过在精度非递减的召回值范围内对精度进行积分来计算。这可以使用如梯形法之类的数值积分方法来完成。一旦计算出面积,它将根据数据集中真正例的总数进行归一化。
得到的值介于 0 和 1 之间,值越高表示性能越好。AP 为 1 表示模型实现了完美的精度和召回,而 AP 为 0 表示模型将所有示例都预测为负例。
AP 通常与平均平均精度(mAP)结合使用,mAP 是在多个类别或任务上计算的平均 AP 值。mAP 是在检测多个类别的对象任务中常用的评估指标。
总之,平均精度(AP)是评估机器学习模型在分类任务性能方面广泛使用的指标。它概括了模型在精度-召回权衡范围内的性能,并可用于比较不同的模型或超参数设置。
依赖项
~36MB
~403K SLoC