【问题标题】:Azure Cognitive Services: Where are the missing Custom Vision Performance Statistics?Azure 认知服务:缺少自定义视觉性能统计信息在哪里?
【发布时间】:2019-10-16 04:54:23
【问题描述】:

我正在查询 Azure Custom Vision V3.0 训练 API(请参阅 https://westeurope.dev.cognitive.microsoft.com/docs/services/Custom_Vision_Training_3.0/operations/5c771cdcbf6a2b18a0c3b809),因此我可以通过 GetIterationPerformance 操作自己生成每个标签的 ROC,其部分输出是:

{u'averagePrecision': 0.92868346,
 u'perTagPerformance': [{u'averagePrecision': 0.4887446,
                         u'id': u'uuid1',
                         u'name': u'tag_name_1',
                         u'precision': 0.0,
                         u'precisionStdDeviation': 0.0,
                         u'recall': 0.0,
                         u'recallStdDeviation': 0.0},
                        {u'averagePrecision': 1.0,
                         u'id': u'uuid2',
                         u'name': u'tag_name_2',
                         u'precision': 0.0,
                         u'precisionStdDeviation': 0.0,
                         u'recall': 0.0,
                         u'recallStdDeviation': 0.0},
                    {u'averagePrecision': 0.9828302,
                     u'id': u'uuid3',
                     u'name': u'tag_name_3',
                     u'precision': 1.0,
                     u'precisionStdDeviation': 0.0,
                     u'recall': 0.5555556,
                     u'recallStdDeviation': 0.0}],

u'精度':0.9859485, u'precisionStdDeviation': 0.0, 你记得':0.3752228, u'recallStdDeviation': 0.0}

准确率和召回率不确定性,precisionStdDeviationrecallStdDeviation 分别似乎总是 0.0。这是用户错误吗?如果没有,是否有计划激活这些统计信息?

【问题讨论】:

    标签: azure microsoft-cognitive azure-cognitive-services microsoft-custom-vision


    【解决方案1】:

    所以目前precisionStdDeviationrecallStdDeviation 没有被使用,所以它总是为零,这不是用户错误。这两个指标的存在是因为之前我们对用户数据集进行了交叉验证,并且对于每个交叉验证折叠我们都有一个精度和召回率,stddev 测量精度和召回率跨折叠的变化。现在代替交叉验证,我们将一部分用户数据拆分为验证集并基于此报告 IterationPerformance,因为没有多重折叠,stddev 将始终为零。我们计划停用这两个字段,很抱歉造成混乱,很可能会在下一个主要版本中被删除。

    【讨论】:

    • 感谢您的快速答复!您能否在有效载荷中的其他指标上添加一些额外的细节,并为它们制定计划,然后我就可以开始了吗? :) 具体来说:在这种情况下,precisionaveragePrecision 等有什么区别?谢谢!
    • 很高兴回答这个问题。 1. 有效载荷的计划:我们将停用StdDeviations,其余保持不变。 2. 对于有效载荷中的指标,我们根据定义计算精度和召回率:Precision = TP/(TP+FP) Recall = TP/(TP+FN) 而 TP、FP 和 FN 取决于您选择的阈值( GetIterationPerformance API 中的第三个参数),假设我们有苹果图像并且模型以 60% 的置信度预测它是苹果。现在,如果您将阈值设置为超过 0.6,此样本将是假阴性,如果低于 0.6,此样本将是真阳性。
    • Average Precision(AP),不过是对不同阈值下的precision和recall的总结,详细解释可以看here。因此,使用 AP,您可以了解模型的整体性能如何。具有高精度和不同阈值召回率的模型将具有更高的 AP。如果您更改阈值,您会注意到的另一件事是 AP 将始终相同,因为 AP 与单个阈值无关,而是与所有阈值相关。
    • 您或您的同事是否也可以帮助解决这个问题? stackoverflow.com/questions/56426097/… :)
    • 是的,我看到 AP 不是请求的threshold 的函数。另外,我假设您的意思是平均值而不是中位数或众数:) 是否有任何计划来丰富可用的指标?目前我们在您手中......再次感谢!
    猜你喜欢
    • 2017-11-19
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2021-11-29
    • 2021-10-26
    • 1970-01-01
    相关资源
    最近更新 更多