numpy argmax 예제

아르맥스를 계산하는 것은 일반적인 프로그래밍 문제입니다: 후보 C, 점수 함수 f의 집합을 가지고 있고, f에 따라 C, 즉 f(c)를 최대화하는 후보 c를 최적 후보 c를 계산하려고 합니다. 그러한 후보가 하나만 있는 경우 C에서 f의 « argmax »라고 합니다. 이 게시물과 같은 온라인 솔루션을 찾을 수 있지만 최근에 Python의 max() 함수가 실제로 작업을 처리 할 수 있다는 것을 깨달았습니다. 방법은 다음과 같습니다. 2D 배열의 행 중 하나에 최대 (단순히 일정한 배열)가 없는 경우 argmax가 이를 보고할 수 있는 방법은 무엇입니까? 예를 들어, 그와 keepdims, 당신은 arr[argmax(arrr, 축, keepdims=True)] == max (arrr, keepdims=True) 어떤 차원에 대해, 내가 처음 파이썬에서 프로그래밍을 시작했을 때 나에게 매우 바람직한 것, 나는 빨리 최대 키워드에 대해 배웠습니다, 그 쉽게 이터러블의 가장 큰 항목을 추출 할 수 있습니다. 예 : 참조 : https://docs.scipy.org/doc/numpy-dev/reference/generated/numpy.argmax.html#numpy.argmax @eric -wieser – 좋은 캐치 – 제대로 번역 할 수있는 것보다 더 빨리 입력했습니다. 나중에 주의 해 주세요. 주석을 « 발생 »이 아닌 « 발생 »으로 업데이트했습니다. 그렇지 않으면 도움이 희망 – 재 형성에 대한 제안을 엽니 다. 요점은 argmax ([2,2,2])==0이 argmax ([2,2,2]))=1 또는 다른 어떤 것과도 양호하며 라이브러리가 아닌 사용자가 선택해야 한다는 것입니다. 그렇지 않으면 대체 메커니즘(예: 추가 키워드 default= 또는 initial=)의 형태로 제공되어야 하며 이 경우 반환할 내용을 지시합니다. argmax2d의 팬이 아니지만 i, j = a.argmax (축 = 0, 1))@eric 의해 설득 될 수 있습니다.

현재 a.argmax()는 스칼라를 반환하고 a.argmax(축=0)는 나머지 차원의 모양이 있는 배열을 반환합니다. 3d 배열에 a.argmax(축=(0,1))가 모양 a.shape[2]의 배열을 반환할 것으로 예상합니다. 키 함수를 지정하면 목록의 값을 사용하여 함수를 평가하고 제공된 함수를 최대화하는 개체를 반환합니다. 이것은 큰 문제가없는 것처럼 보이지만 실제로 는 argmax와 같은 기능을 작동하게합니다! 그것은 간단하지만, 내가 지속적으로이 기능을 찾아야 할 정도로 불투명합니다. 이 이미 numpy에서 사용할 수 있다면 좋을 것입니다. np.argmax (x, 축, no_ind = 0) (0은 이전 버전과의 호환성을 유지하기 위해 기본값)와 같은 최대가 없는 경우 사용자가 수행할 작업을 제어할 수 있도록 하는 추가 인수를 가지는 것이 좋습니다. @thoth291 argmax의 행동에 관한 더 일반적인 질문이 아닌가요? 같은 일이 1d 배열에 축 키워드 인수없이 발생 : 이 문제는 옆으로, 그것은 기본 정수 선형 인덱스 대신 n 길이 인덱스 튜플을 얻기 위해 일반적인 경우에 a.argmax (축 = 범위 (n))를 사용하는 것이 조금 이상한 것입니다. 아마도 새로운 키워드는 출력 표현 사이를 전환 할 수 있습니까? 당신은 « argmax의 추상적 인 정의와는 아무 상관이 없다 »는 것을 의미합니까? 나는 « 알고리즘 »과 « 실제로 일어나는 일 »이 같은 것일뿐만 아니라 문서와 일치하기를 바랍니다. 제 학습 역사에서 저는 아르그맥스 의 행동이 매우 유용하다는 것을 깨달았습니다. 예를 들어 수치 컴퓨팅에서 함수의 최소 값이 어디에 있는지 알고 싶을 수 있습니다.

argmax를 사용하면 y 값에서 최대 값의 인덱스를 찾은 다음 x 배열과 함께 해당 인덱스를 사용합니다.