
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!
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.