在Numpy中将数组转换为百分比

时间:2018-11-07 18:16:56

标签: python pandas numpy keras deep-learning

我微调了一个模型,并将预测返回到变量结果中,但是得到了一个浮点数数组。如何将其转换为百分比并使用标签打印。还有如何返回前5个预测。

result = model.predict(test_image) 



print (result)

[[6.4043561e-05 4.0387777e-06 5.7413094e-05 4.3322724e-01 4.8211630e-05


 3.2328039e-03 5.4211664e-04 5.6212872e-01 6.7689107e-04 1.8414050e-05]]

我的标签存储在类索引中

test_labels = test_batches.classes
test_labels

test_batches.class_indices
{'Name1': 0,
'Name2': 1,
'Name3': 2,
'Name4': 3,
'Name5': 4,
'Name6': 5,
'Name7': 6,
'Name8': 7,
'Name9': 8,
'Name10': 9}

1 个答案:

答案 0 :(得分:0)

我猜您想要的是使模型的准确性作为正确分类的示例的百分比。数组中的值可能是logits(模型的置信度,这个特定的输入示例对应于每个可能的标签。数组中的最大值对应于模型中输入的最可能的类(预测)。如果要计算top-5精度,检查(对于每个输入)数组中的5个最大值中的一个是否对应于正确的标签;如果是这样,则将该示例视为正确分类,然后计算正确分类的总数示例,除以示例总数,然后乘以100即可得出百分比。