You need to enable JavaScript to run this app. 如何对Keras中model.predict函数的输出结果进行升序排序?
优惠活动
大模型
产品
解决方案
定价
更多

如何对Keras中model.predict函数的输出结果进行升序排序?

你遇到的问题核心是model.predict()的返回值结构和numpy排序的默认参数不匹配:
model.predict()输出的是形状为(样本数量, 1)的二维数组,你之前的写法问题如下:

  • np.sort(model.predict(data)):numpy的sort方法默认沿最后一个轴(axis=-1)排序,相当于对每个样本内部的单个数值单独排序,完全不会触发全局的数值排序
  • np.argsort(model.predict(data)):这个方法返回的是排序后的位置索引,不是实际的数值结果,自然不符合预期

方法1:降为一维数组后全局排序(最常用)

如果后续需要一维的排序结果,先调用flatten()把二维数组压平为一维,再执行排序:

pred = np.sort(model.predict(data).flatten())

方法2:保持二维结构排序

如果需要保留(样本数量, 1)的二维输出结构,直接指定排序轴为第0轴即可:

pred = np.sort(model.predict(data), axis=0)

效果验证

以你给出的样例输出数组为例,两种方法排序后的数值顺序均为升序:

[ 6.2621603, 14.3797455, 15.176579, 16.25976, 16.672417, 17.346558, 17.85637, 17.967245, 20.261982, 20.35404, 23.327494, 25.672846, 27.06339, 35.517834 ]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 21:06:00