NumPyargmax()函数详解

Written by

in

文章目录
  • argmax 全称是 “argument of the maximum”,直译为 “最大值对应的索引”。 它返回的是 最大值的索引,而不是最大值本身。
  • numpy.argmax(a, axis=None) 参数 说明 a 要计算的数组或矩阵 axis 指定沿哪个轴查找最大值的位置,默认为 None(即将数组展平成一维) 返回值:👉 一个整数(如果 axis=None)或一个包含索引的数组。 下边是其官方文档的介绍,官网链接numpy.argmax
  • 函数 返回内容 示例 np.max() 最大值 np.max([1,3,2]) → 3 np.argmax() 最大值的索引 np.argmax([1,3,2]) → 1 两者常搭配使用: arr = np.array([2, 8, 5]) print(“最大值:”, np.max(arr)) print(“最大值索引:”, np.argmax(arr)) 输出: 最大值: 8最大值索引: 1
  • argmax() 在机器学习中非常常见,尤其在分类任务中用于获取预测类别标签。
  • 问题 错误示例 正确做法 没有指定 axis 导致结果不符合预期 np.argmax(matrix) 指定 axis=1 或 axis=0 想取最大值却用 argmax np.argmax(x) 改为 np.max(x) 想得到二维坐标但忘了用 np.unravel_index() 直接打印索引 使用 np.unravel_index() 转换
  • 功能 函数 返回内容 常见用途 取最大值 np.max() 最大值 查看数值本身 取最大值索引 np.argmax() 最大值位置 分类预测、矩阵分析 获取二维索引 np.unravel_index() 行列坐标 多维数组索引转换 到此这篇关于NumPy argmax()函数详解的文章就介绍到这了,更多相关NumPy argmax()内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 深入理解numpy中argmax的具体使用 详解numpy的argmax的具体使用
  • 目录
    • 一、argmax 是什么?
    • 二、基本语法
    • 三、基本示例
      • 1️⃣ 一维数组
      • 2️⃣ 二维数组
        • (1)不指定 axis
        • (2)按行查找(axis=1)
        • (3)按列查找(axis=0)
    • 四、argmax 与 max 的区别
      • 五、在机器学习中的应用
        • 🎯 示例:分类模型输出预测概率
        • 六、常见坑点总结
          • 七、总结对比表

            在日常数据分析和机器学习中,经常需要找到数组或矩阵中最大值的位置,这时,NumPy 提供的 argmax() 函数就派上了用场。本文将系统地了解 argmax() 的作用、用法、常见陷阱以及在机器学习中的实际应用。

            argmax 全称是 “argument of the maximum”,直译为 “最大值对应的索引”。

            它返回的是 最大值的索引,而不是最大值本身。

            numpy.argmax(a, axis=None)
            
            参数 说明
            a 要计算的数组或矩阵
            axis 指定沿哪个轴查找最大值的位置,默认为 None(即将数组展平成一维)

            返回值:👉 一个整数(如果 axis=None)或一个包含索引的数组。

            下边是其官方文档的介绍,官网链接numpy.argmax

            import numpy as np
            
            arr = np.array([10, 25, 18, 36, 5])
            index = np.argmax(arr)
            
            print("最大值索引:", index)
            print("最大值:", arr[index])
            

            输出:

            最大值索引: 3
            最大值: 36

            解释:最大值是 36,位于索引位置 3。

            arr = np.array([
                [1, 7, 3],
                [4, 9, 2]
            ])
            

            np.argmax(arr)
            

            输出:

            4

            因为数组展平成 [1,7,3,4,9,2],最大值 9 在索引 4 位置。

            np.argmax(arr, axis=1)
            

            输出:

            [1, 1]

            解释:

            • 第一行最大值 7 在索引 1
            • 第二行最大值 9 也在索引 1

            np.argmax(arr, axis=0)
            

            输出:

            [1, 1, 0]

            解释:

            • 第 1 列最大值在第 2 行(索引 1)
            • 第 2 列最大值在第 2 行(索引 1)
            • 第 3 列最大值在第 1 行(索引 0)

            函数 返回内容 示例
            np.max() 最大值 np.max([1,3,2]) → 3
            np.argmax() 最大值的索引 np.argmax([1,3,2]) → 1

            两者常搭配使用:

            arr = np.array([2, 8, 5])
            print("最大值:", np.max(arr))
            print("最大值索引:", np.argmax(arr))
            

            输出:

            最大值: 8
            最大值索引: 1

            argmax() 在机器学习中非常常见,尤其在分类任务中用于获取预测类别标签

            假设模型输出如下概率矩阵:

            import numpy as np
            
            proba = np.array([
                [0.1, 0.8, 0.1],
                [0.6, 0.3, 0.1],
                [0.2, 0.4, 0.4]
            ])
            

            我们想得到每个样本的预测类别(即概率最大的那一类):

            pred_labels = np.argmax(proba, axis=1)
            print(pred_labels)
            

            输出:

            [1, 0, 1]

            解释:

            • 第一行:类别 1 概率最大(0.8)
            • 第二行:类别 0 概率最大(0.6)
            • 第三行:类别 1 概率最大(0.4)

            ✅ 这正是深度学习模型(如 softmax 输出层)中最常见的做法。

            问题 错误示例 正确做法
            没有指定 axis 导致结果不符合预期 np.argmax(matrix) 指定 axis=1 或 axis=0
            想取最大值却用 argmax np.argmax(x) 改为 np.max(x)
            想得到二维坐标但忘了用 np.unravel_index() 直接打印索引 使用 np.unravel_index() 转换

            功能 函数 返回内容 常见用途
            取最大值 np.max() 最大值 查看数值本身
            取最大值索引 np.argmax() 最大值位置 分类预测、矩阵分析
            获取二维索引 np.unravel_index() 行列坐标 多维数组索引转换

            到此这篇关于NumPy argmax()函数详解的文章就介绍到这了,更多相关NumPy argmax()内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

            您可能感兴趣的文章:

            • 深入理解numpy中argmax的具体使用
            • 详解numpy的argmax的具体使用

            站内搜索