NumPy argmin()函數(shù)詳解
在數(shù)據(jù)分析、圖像處理或機(jī)器學(xué)習(xí)任務(wù)中,常常需要找到數(shù)組或矩陣中最小值的位置。NumPy 提供的 argmin() 函數(shù)就能幫我們完成。本文將系統(tǒng)介紹 argmin() 的作用、用法、常見坑點(diǎn),以及與 argmax() 的關(guān)系。
一、argmin 是什么?
argmin 是 “argument of the minimum” 的縮寫,
意思是 最小值對應(yīng)的索引。
它返回的不是最小值,而是最小值的索引位置。
??官方文檔介紹地址numpy.argmin

二、基本語法
numpy.argmin(a, axis=None)
| 參數(shù) | 說明 |
|---|---|
| a | 輸入數(shù)組或矩陣 |
| axis | 指定沿哪個(gè)軸尋找最小值的索引,默認(rèn)為 None(即對整個(gè)數(shù)組展平處理) |
返回值:
?? 一個(gè)整數(shù)(如果 axis=None)或包含索引的數(shù)組。
三、基礎(chǔ)示例
2、一維數(shù)組
import numpy as np
arr = np.array([10, 25, 8, 36, 5])
index = np.argmin(arr)
print("最小值索引:", index)
print("最小值:", arr[index])
輸出:
最小值索引: 4
最小值: 5
解釋:最小值為 5,位于索引 4 位置。
2、二維數(shù)組
arr = np.array([
[3, 7, 1],
[9, 5, 2]
])
(1)不指定 axis
np.argmin(arr)
輸出:
2
因?yàn)閿?shù)組展平成 [3,7,1,9,5,2],最小值 1 的索引為 2。
(2)按行查找(axis=1)
np.argmin(arr, axis=1)
輸出:
[2, 2]
解釋:
- 第一行最小值 1 在索引 2
- 第二行最小值 2 也在索引 2
(3)按列查找(axis=0)
np.argmin(arr, axis=0)
輸出:
[0, 1, 0]
解釋:
- 第 1 列最小值在第 1 行(索引 0)
- 第 2 列最小值在第 2 行(索引 1)
- 第 3 列最小值在第 1 行(索引 0)
四、argmin 與 min 的區(qū)別
| 函數(shù) | 返回內(nèi)容 | 示例 |
|---|---|---|
| np.min() | 最小值 | np.min([2,8,3]) → 2 |
| np.argmin() | 最小值的索引 | np.argmin([2,8,3]) → 0 |
兩者可以搭配使用:
arr = np.array([2, 8, 3])
print("最小值:", np.min(arr))
print("最小值索引:", np.argmin(arr))
輸出:
最小值: 2
最小值索引: 0
五、在機(jī)器學(xué)習(xí)中的應(yīng)用
argmin() 在機(jī)器學(xué)習(xí)中也很實(shí)用,尤其在模型評估或聚類分析中。
?? 示例:選擇誤差最小的模型參數(shù)
import numpy as np
errors = np.array([0.32, 0.28, 0.45, 0.25, 0.31])
best_index = np.argmin(errors)
print("誤差最小的模型索引:", best_index)
print("最小誤差:", errors[best_index])
輸出:
誤差最小的模型索引: 3
最小誤差: 0.25
解釋:
模型 3 的誤差最小,因此最優(yōu)。
六、argmin 與 argmax 的對比
| 功能 | 函數(shù) | 返回內(nèi)容 | 應(yīng)用場景 |
|---|---|---|---|
| 找最大值索引 | np.argmax() | 最大值的位置 | 分類預(yù)測、最大概率標(biāo)簽 |
| 找最小值索引 | np.argmin() | 最小值的位置 | 最小誤差、最優(yōu)損失點(diǎn) |
在模型訓(xùn)練或參數(shù)調(diào)優(yōu)中,我們通常會(huì)用:
argmin(losses):找到損失最小的 epoch;argmax(accuracy):找到準(zhǔn)確率最高的模型。
七、常見坑點(diǎn)總結(jié)
| 問題 | 錯(cuò)誤示例 | 正確做法 |
|---|---|---|
| 忘記指定 axis 導(dǎo)致結(jié)果不符合預(yù)期 | np.argmin(matrix) | 指定 axis=1 或 axis=0 |
| 想取最小值卻用 argmin | np.argmin(x) | 改為 np.min(x) |
| 想取二維位置但忘記轉(zhuǎn)換 | 直接打印索引 | 使用 np.unravel_index() |
到此這篇關(guān)于NumPy argmin()函數(shù)詳解的文章就介紹到這了,更多相關(guān)NumPy argmin()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)-循環(huán)隊(duì)列的操作方法
這篇文章主要介紹了Python 實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)-循環(huán)隊(duì)列的操作方法,需要的朋友可以參考下2019-07-07
Python中pinyin庫實(shí)現(xiàn)漢字轉(zhuǎn)換為拼音
python-pinyin是一個(gè)用于漢字轉(zhuǎn)拼音的Python庫,支持多音字、多種拼音風(fēng)格和自定義詞典,本文就來介紹一下Python中pinyin庫實(shí)現(xiàn)漢字轉(zhuǎn)換為拼音,感興趣的可以了解一下2025-01-01
Django websocket原理及功能實(shí)現(xiàn)代碼
這篇文章主要介紹了Django websocket原理及功能實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python自動(dòng)化辦公Excel模塊openpyxl原理及用法解析
這篇文章主要介紹了Python自動(dòng)化辦公Excel模塊openpyxl原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python?內(nèi)置函數(shù)sorted()的用法
這篇文章主要介紹了Python?內(nèi)置函數(shù)sorted()的用法,文章內(nèi)容介紹詳細(xì)具有一的參考價(jià)值,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-03-03
PyTorch的Optimizer訓(xùn)練工具的實(shí)現(xiàn)
這篇文章主要介紹了PyTorch的Optimizer訓(xùn)練工具的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python3爬蟲ChromeDriver的安裝實(shí)例
在本篇文章里小編給大家整理的是一篇關(guān)于Python3爬蟲ChromeDriver的安裝實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-02-02

