この記事では主にPythonのargsort()関数の使用例を紹介し、argsort()関数の使用法を詳しく紹介します。興味のある方は参考にしてください。
学習したcaffemodelを使って多くの画像をバッチ分類するためにPythonを使いたいと思ったので、学習過程でargsort関数に出会ったので、関連する文献を調べてPython環境で自分でテストして、大まかに理解しました。 . 該当する用途については、後で忘れてしまわないように、理解を深められるようにメモしてみました。 (追記: 私も Python 初心者なので理解が浅いかもしれません)
1. まず配列 data を定義します
import numpy as np x=np.array([1,4,3,-1,6,9])
2. argsort() 関数の具体的な関数が何であるかを確認します:
x.argsort()
出力は y =array([3,0,2,1,4,5]) として定義されます。
argsort() 関数は、x の要素を小さいものから大きいものに並べて、対応するインデックスを抽出し、それを y に出力することがわかりました。たとえば、x[3]=-1 が最小であるため y[0]=3、x[5]=9 が最大であるため y[5]=5 となります。
上記は理解するのが難しいことではありません。慣れていない場合でも、Python 環境で試してみることができます。
3. プログラム内で np.argsort()[num]
のような形式に遭遇したため、まだ理解できなかったので、Python 環境に移動して自分で試してみました。 np.argsort()[num]
的形式,一直看不明白,就自己去python环境自己试了下:
ps:这里的num的绝对值小于等于x中元素的个数
当num>=0时,np.argsort()[num]就可以理解为y[num];
当num<0时,np.argsort()[num]就是把数组y的元素反向输出
num>=0 の場合、np.argsort()[num] は y[num] として理解できます。
Whennum (例: np.argsort()[-1) ] は x の最大値に対応するインデックスを出力し、np .argsort()[-2] は x の 2 番目に大きい値に対応するインデックスを出力します。 。
直感的な実験を通じてのみ、効果を確認できます。上記の例を使用した私の検証は次のとおりです。
これは、num が負の値の場合の出力です。
🎜🎜🎜🎜これは、num>=0 の場合の出力です。 🎜以上がPython での argsort() 関数の使用法の簡単な概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。