Jak działa numpy argmax w języku Python? Przykład zastosowania

Jak działa numpy argmax w języku Python? Przykład zastosowania
„`html

Jeśli kiedykolwiek miałeś do czynienia z biblioteką NumPy w języku Python, prawdopodobnie natknąłeś się na funkcję numpy.argmax(). Jest to bardzo użyteczne narzędzie, które pozwala znaleźć indeks największego elementu w danym zbiorze danych. W tym artykule pokażę, jak działa numpy.argmax() i jak można go wykorzystać w praktyce.

Co to jest numpy.argmax()?

Funkcja numpy.argmax() zwraca indeks największej wartości w tablicy NumPy. Jeśli mamy tablicę jednowymiarową, zwraca ona pojedynczą liczbę. Natomiast w przypadku tablic wielowymiarowych możemy określić, wzdłuż której osi mamy szukać maksymalnej wartości.

Podstawowe użycie numpy.argmax()

Zacznijmy od prostego przykładu. Przypuśćmy, że mamy jednowymiarową tablicę:

import numpy as np

arr = np.array([1, 7, 3, 9, 5])
index_max = np.argmax(arr)

print(index_max)  # Wynik: 3

Funkcja np.argmax(arr) zwróciła 3, ponieważ największa wartość (9) znajduje się na indeksie 3.

Użycie numpy.argmax() w tablicach wielowymiarowych

W przypadku tablic dwuwymiarowych możemy określić, wzdłuż której osi szukać maksymalnych wartości:

arr_2d = np.array([[10, 15, 20],
                   [25, 5, 30],
                   [35, 40, 45]])

max_index_axis0 = np.argmax(arr_2d, axis=0)
max_index_axis1 = np.argmax(arr_2d, axis=1)

print(max_index_axis0)  # Wynik: [2 2 2]
print(max_index_axis1)  # Wynik: [2 2 2]

Wynik max_index_axis0 = [2, 2, 2] oznacza, że największe wartości w każdej kolumnie znajdują się w wierszu o indeksie 2. Natomiast max_index_axis1 = [2, 2, 2] wskazuje, że w każdym wierszu największa wartość jest w ostatniej kolumnie.

Gdzie można zastosować numpy.argmax()?

Istnieje wiele praktycznych zastosowań tej funkcji:

  • W analizie danych, aby znaleźć najważniejsze obserwacje.
  • W implementacji algorytmów uczenia maszynowego – np. do znajdowania klasy o najwyższym prawdopodobieństwie w problemie klasyfikacji.
  • W grach komputerowych – np. do określenia najlepszego ruchu na podstawie wartości punktowych.

Przykład z uczeniem maszynowym

Jednym z najczęstszych przypadków użycia numpy.argmax() jest klasyfikacja w uczeniu maszynowym. Oto przykład:

probabilities = np.array([0.1, 0.05, 0.6, 0.25])
predicted_class = np.argmax(probabilities)

print(predicted_class)  # Wynik: 2

Wektor probabilities może reprezentować prawdopodobieństwo przynależności do różnych klas. np.argmax() zwraca indeks największego prawdopodobieństwa, czyli klasy o najwyższym przewidywanym wyniku.

Porównanie numpy.argmax() z innymi metodami

Aby lepiej zrozumieć, jak działa numpy.argmax(), warto porównać go z innymi metodami wyszukiwania maksymalnej wartości.

Metoda Zwracana wartość Przykładowe użycie
numpy.argmax() Indeks maksymalnej wartości np.argmax([1, 3, 7, 5]) → 2
numpy.max() Maksymalna wartość np.max([1, 3, 7, 5]) → 7
list.index() Indeks wartości w liście [1, 3, 7, 5].index(max([1, 3, 7, 5])) → 2

Podsumowanie

Funkcja numpy.argmax() jest niezwykle użyteczna do znajdowania indeksów maksymalnych wartości w tablicach NumPy. Jest często wykorzystywana w data science, uczeniu maszynowym i analizie danych. Jej elastyczność pozwala na stosowanie zarówno w tablicach jednowymiarowych, jak i wielowymiarowych.

Podsumowując, jeśli kiedykolwiek będziesz potrzebować znaleźć indeks największej wartości w tablicy NumPy, numpy.argmax() będzie twoim najlepszym wyborem!

„` Inny ciekawy artykuł: Jak działa numpy put w języku Python? Przykład zastosowania
KajoDataSpace