如何从Keras Sequential模型获取类别及对应类别概率?
实现类别与概率的映射并生成表格
步骤1:准备类别名称列表
先准备一个和模型输出顺序严格对应的类别名称列表,顺序必须和训练时的类别顺序一致,示例如下:
class_names = ["第一类", "第二类", "第三类", "第四类", "第五类", "第六类", "第七类", "第八类", "第九类", "第十类", "第十一类", "第十二类", "第十三类", "第十四类"]
步骤2:获取预测概率并完成配对
调用模型获取概率数组后,将类别名称与对应概率一一配对:
# 获取单样本预测概率(批量预测时循环处理每个样本即可) pred_probs = model.predict(your_input_data)[0] # 配对类别与概率 class_prob_pairs = list(zip(class_names, pred_probs))
步骤3:生成指定格式的表格
直接输出你需要的Markdown格式表格:
# 打印表格表头 print("| 类别 | 概率 |") print("|------|------|") # 遍历配对结果逐行打印 for class_name, prob in class_prob_pairs: # 可根据需求调整小数位数,这里保留两位 print(f"| {class_name} | {prob:.2f} |")
可选:按概率从高到低排序展示
如果需要按概率排序输出,在配对后添加排序步骤:
# 按概率降序排序 class_prob_pairs_sorted = sorted(class_prob_pairs, key=lambda x: x[1], reverse=True) # 打印排序后的表格 print("| 类别 | 概率 |") print("|------|------|") for class_name, prob in class_prob_pairs_sorted: print(f"| {class_name} | {prob:.2f} |")
内容的提问来源于stack exchange,提问作者jstarr34
相关产品推荐
相关产品推荐

