ディープラーニング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に連絡してください。