You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解读ML.NET多分类任务中模型预测输出的得分数组

ML.NET多分类得分数组解读及置信度获取方法
  • ML.NET多分类模型返回的得分数组,长度与你定义的错误类型总数完全一致,数组每个位置的数值对应同索引类别的预测得分,模型最终输出的预测类别,就是得分最高的位置对应的错误类型。
    举个例子,如果你预设的错误类型顺序为["runtime", "compile", "dependency"],那么数组下标0对应runtime类得分、下标1对应compile类得分、下标2对应dependency类得分,你提到的Object reference not set to an instance of an object被识别为runtime错误,就说明该样本的得分数组中下标0的数值最高。
  • 绝大多数ML.NET内置多分类训练器(比如SdcaMaximumEntropy、OneVersusAll封装训练器)的输出得分,本身就是经过Softmax转换的概率值,范围在0到1之间,所有位置得分总和为1,直接取预测类别对应的得分,就是该结果的置信度。比如上述示例中如果runtime对应的得分为0.91,那么该预测结果的置信度就是91%。
  • 如果你使用的是未开启概率输出的自定义训练器,得分为原始决策值,可以手动做Softmax转换得到归一化置信度,转换公式为:
    类别i的置信度 = exp(score[i]) / sum(exp(score[j]) for j in 0..类别总数-1)
    转换后的数值同样符合0-1区间的概率属性,可直接作为置信度使用。
  • 你可以通过训练阶段MapValueToKey转换输出列的KeyValues属性,拿到类别和数组索引的对应关系,避免索引匹配错误。

内容的提问来源于stack exchange,提问作者rajesh_zero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:54:05