0

我在模型生成器中选择了文本分类,并且能够使用样本数据评估模型。我在 Visual Studio 插件中获得了多个准确率百分比的结果行,如下所示:

结果

结果1 60%


结果2 5%

结果3 <1%

结果4 <1%

结果5 <1%

但是,当使用生成的模型代码时,我只能得到一个预测结果

var predictionResult = ConsumeModel.Predict(input);

问题:如何使用生成的模型为一个模型输入返回多个准确率百分比的预测结果?类似于模型生成器在 Visual Studio 插件中的“评估”步骤中的显示方式。

4

1 回答 1

0

最简单的方法是基于 Score 返回的内容,并将其与 Dataset 文件夹中的标签名称匹配。然后使用比较来重新排列收到的结果的顺序。

例如在下面的数据集动物中:

(图片)将分数转换为标签名称

PredictedLabel: Cat
Score: [0.003, 0.981, 0.01, 0.0025, 0.003, 0.0015]
------------Similar
Bird: 0.003
Cat: 0.981
Dog: 0.01
Mouse: 0.0025
Snake: 0.003
Tiger: 0.0015

您可以将其放入二维数组中并对其进行排序。最后,您得到如下结果。

Cat: 0.981
Dog: 0.01
Bird: 0.003
Snake: 0.003
Mouse: 0.0025
Tiger: 0.0015

你可以参考下面的二维数组排序代码,它会排序Score并保留你的LabelName。

int j = 1;

        Array.Sort(array, delegate (object[] x, object[] y)
        {
            return (y[j] as IComparable).CompareTo(x[j]);
        });

现在,您可以使用循环来检索结果并以您想要的方式呈现它们。

祝你好运!

于 2021-02-25T03:23:15.880 回答