如何对来自Keras的model.predict函数的输出进行排序?

2024-06-02 06:33:41 发布

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

我建立了一个序列模型来预测数据集。输出是一个值数组,如下所示:

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

我想按升序对数组排序

我试过了

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

pred = np.argsort(model.predict(data))

我失败了


Tags: 数据模型datamodel排序np序列数组
3条回答

如果要按数字对数组排序,可以使用下面的

pred = model.predit(data)
pred.sort() 
print(p)

这将显示已排序的pred。默认情况下,排序按升序进行

如果您想要排序的

pred = model.predict(data)
sorted_index = pred.argsort(axis=0)
print(sorted_index)

您应该按如下方式使用np.sort

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

默认行为是axis=-1,这在您的案例中相当于axis=1

排序前应用np.reshape(x, -1)。通过这种方式,您将拥有一个平面数组,这是您在排序之后最终可能要做的事情。这就是为什么我更喜欢这样而不是指定轴,否则这也是一个很好的解决方案

相关问题 更多 >