机器在学习
深度学习做分类任务时,通过softmax层后,输出各个类别的概率值。其中,最大概率值索引对应的类别,就是模型预测的最终结果。
本文讲述了使用Python将概率值转换最终预测结果。
先看一下10个类别,这10个类别,是fashion_mnist的类别。
class_name = ['T-shirt', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
假定我们的模型已经训练好,直接使用训练好的模型进行预测。
predictions = model.predict(x_test)
predictions的shape是(len(x_test), len(types)),我们看一下第一个预测结果predictions[0],输出的概率值吧
array([1.9580643e-03, 5.8311934e-04, 1.2522347e-03, 2.3092858e-03, 2.3697780e-03, 2.7583709e-02, 1.1669351e-03, 1.1092117e-01, 2.0149192e-02, 8.3170652e-01], dtype=float32)
总共有10个类别,分别对应10个概率值,其中,概率值最大的是最后一位:8.3170652e-0,对应class_name即是Ankle boot。
借助pandas快速完成这个目的。
import pandas as pd# 将概率值与类别信息合并为seriesresult = pd.Series(predictions[0], index=class_name)# 输出的类别字段type = result.idxmax()# 输出类别对应的概率值max_score = result.max()
其中,合成的series是下面这样的形式,可以看出Ankle boot对应的值是最高的。如
T-shirt 0.001671Trouser 0.000893Pullover 0.001579Dress 0.002067Coat 0.000588Sandal 0.006615Shirt 0.002492Sneaker 0.067276Bag 0.006515Ankle boot 0.910306
The End
已发布
分类
标签:
您的电子邮箱地址不会被公开。 必填项已用*标注
评论 *
显示名称
电子邮箱地址
网站地址
Δ
发表回复