ML.NET 展示哪个分数对应哪个标签

我在使用ML.Net进行文本解释的分类器。预测结果有一个float[]类型的分数列和一个预测的标签。这种方法有效,因为最高分对应于预测的标签,但其他分数只是没有特定顺序的浮点数。我如何知道哪个分数对应哪个标签?我如何查看第二高权重的标签是什么?

例如,我得到这样的结果:0.000050090.008930760.12747630.62097870.2425644

0.6是我的预测标签,但我还需要查看0.24对应的标签,以便了解它为什么会混淆。

标签是诸如“问候”或“笑话”这样的文本字符串,这些在管道中被字典化了,所以这可能是它们没有按正确顺序排列的原因?

在ML.Net中,有没有办法将两者联系起来?展示哪个分数对应哪个标签?


回答:

您可以使用以下代码获取与分数对应的标签:

string[] scoreLabels;model.TryGetScoreLabelNames(out scoreLabels);

更多详细信息可以在这里找到 这里这里

请注意,这可能会随着即将推出的ML.NET 0.6 API而改变。这些API将直接暴露Schema,并启用获取此信息(以及其他有用信息)。这可能类似于今天的TryGetScoreLabelNames的工作方式。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注