You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Keras多分类Sequential模型中得到单个类别的预测结果

输出向量解读

你模型输出层使用了softmax激活函数,输出的长度为10的向量中,每个位置的数值对应模型预测输入歌曲属于对应索引类别的置信度,所有数值总和为1,和10个类别一一对应,对应顺序和你定义的类别列表顺序完全一致。
你给出的示例中10个数值都接近0.1,说明当前模型对这首新歌的预测置信度极低,无法有效区分类别,你可以尝试增加训练轮次、调整正则化强度、优化MFCC特征提取参数来提升模型效果。

获取预测类别编号的方法

直接取概率最高的元素的索引即可,使用numpy的argmax方法实现:

import numpy as np
# 得到0-9的类别编号,axis=1表示在最后一个维度取最大值索引
predicted_class = np.argmax(predict, axis=1)
# 如果需要直接得到类别名称,可通过提前定义的类别列表映射
classes = ['blues', 'classical', 'country', 'disco', 'hiphop', 'jazz', 'metal', 'pop', 'reggae', 'rock']
predicted_category = classes[predicted_class[0]]

如果输入是单首歌曲,predicted_class输出为仅包含1个元素的数组,取索引0即可拿到单个编号;如果是批量预测多首歌曲,输出的数组长度和输入歌曲数量一致,依次对应每首歌的预测编号。

内容的提问来源于stack exchange,提问作者Alessio Rocchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 11:39:03