例:argsort()

ディープラーニングMnistのケースでargsort()関数に遭遇し、関連情報を確認し、その使用法を次のように整理しました。

numpy.argsort(a, axis=-1, kind=’quicksort’, order=None) 

関数:行列aを軸に従って並べ替え、並べ替えられた添え字を返します。
パラメーター:a:入力行列、軸:並べ替える次元。
戻り値:並べ替えられた添え字を出力します。

(一次元配列)

import numpy as np

x = np.array([1,4,3,-1,6,9])

x.argsort()

# array([3, 0, 1, 2, 4, 5], dtype=int64)

argsort()は、Xの要素を小さいものから大きいものに並べ替え、対応するインデックスインデックスを抽出してから、yに出力することがわかります。たとえば
、x [3] = -1が最小で、x [5]です。 = 9が最大です

したがって、配列xの最小値を取ると、次のように記述できます。

x[x.argsort()[0]]

または、argmin()関数を使用します

x[x.argmax()]

 
配列xの最大値。次のように記述されます。

x[x.argsort()[-1]]  # -1代表从后往前反向的索引

または、argmax()関数を使用します。詳細は不要です。

x[x.argmax()]

 ソートされた配列を出力

x[x.argsort()]
# 或
x[np.argsort(x)]

(2次元配列)

x = np.array([[1,5,4],[-1,6,9]])
# [[ 1  5  4]
# [-1  6  9]]

行(各列)で要素を並べ替えます 

np.argsort(x,axis=0)
# array([[1, 0, 0],
#        [0, 1, 1]], dtype=int64)

右側の列に沿って要素を並べ替えます(各行)

np.argsort(x,axis=1)
# array([[0, 2, 1],
#        [0, 1, 2]], dtype=int64)

 

 

Matlab、Python、C ++でプログラミング、機械学習、コンピュータービジョン理論の実装とガイダンス、学部と修士の両方の学位、塩漬け魚の取引、専門家の回答を知ってください。QQ番号757160542に連絡してください。

 

おすすめ

転載: blog.csdn.net/weixin_36670529/article/details/113817823