如何从稠密层的所有预测输出中得到概率最大的输出?

2024-06-01 06:55:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我训练了一个神经网络来识别手语。这是我的输出层 model.add(Dense(units=26,activation="softmax")) 现在我得到了所有26个字母的概率。当我测试这个模型时,不知何故我得到了99%的准确率。我是新手。我不明白这段代码是怎么工作的,我遗漏了一些重要的东西。如何得到一个1D列表中只有预测的字母表?在


Tags: 代码模型addmodel字母神经网络概率activation
3条回答

要获得概率,您需要做如下操作:

prediction = model.predict(test_X)
probs = prediction.max(1)

但重要的是要记住,softmax并没有精确地提供每个类的概率。在

假设字母表是一个包含所有字母符号的列表alphabet = ['a', 'b', ...]

pred = model.predict(test_X)
pred_ind = pred.max(1)
pred_alphabet = [alphabet[ind] for ind in pred_ind]

会给你一个带有预测符号的列表。在

要在单个列表中获得最大概率的输出,请运行:

np.argmax(model.predict(x_test),axis=1)

相关问题 更多 >