3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
如果你想要的結(jié)果是一個(gè) 4x2 數(shù)組,它索引三個(gè)數(shù)組中哪個(gè)位置的最大值,i,j那么你想要使用np.argmax
>>> import numpy as np
>>> predict_prob1 =([[0.95602106, 0.04397894],
[0.93332366, 0.06667634],
[0.97311459, 0.02688541],
[0.97323962, 0.02676038]])
>>> predict_prob2 =([[0.70425144, 0.29574856],
[0.69751251, 0.30248749],
[0.7072872 , 0.2927128 ],
[0.68683139, 0.31316861]])
>>> predict_prob3 =([[0.56551921, 0.43448079],
[0.93321106, 0.06678894],
[0.92345399, 0.07654601],
[0.88396842, 0.11603158]])
>>> np.argmax((predict_prob1,predict_prob2,predict_prob3), 0)
array([[0, 2],
[0, 1],
[0, 1],
[0, 1]])
>>>
附錄
閱讀了 OP 的評(píng)論后,我將以下內(nèi)容添加到我的答案中
>>> names = np.array(['predict_prob%d'%(i+1) for i in range(3)])
>>> names[np.argmax((predict_prob1,predict_prob2,predict_prob3),0)]
array([['predict_prob1', 'predict_prob3'],
['predict_prob1', 'predict_prob2'],
['predict_prob1', 'predict_prob2'],
['predict_prob1', 'predict_prob2']], dtype='<U13')
>>>

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以這樣做np.maximum.reduce:
np.maximum.reduce([A, B, C])
其中A, B,C是numpy.ndarray
對(duì)于您的示例,它的結(jié)果是:
[[0.95602106 0.43448079]
[0.93332366 0.30248749]
[0.97311459 0.2927128 ]
[0.97323962 0.31316861]]

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
假設(shè)您想要,對(duì)于每一行,類(lèi)別 0 的概率最高的數(shù)組的索引:
which = 0
np.stack([predict_prob1, predict_prob2, predict_prob3], axis=2)[:, which, :].argmax(axis=1)
輸出:
array([0, 0, 0, 0])
對(duì)于第 1 類(lèi):
array([2, 1, 1, 1])
添加回答
舉報(bào)