Kodowanie one-hot do reprezentowania obrazów
Sieci neuronowe wymagają, aby etykiety klas w zbiorze danych były zapisane w formacie one-hot: każdy wiersz tablicy zawiera same zera, z wyjątkiem kolumny odpowiadającej danej etykiecie, która przyjmuje wartość 1.
Zbiór danych fashion zawiera trzy kategorie:
- Koszule
- Sukienki
- Buty
W tym ćwiczeniu stworzysz kodowanie one-hot dla niewielkiej próbki tych etykiet.
To ćwiczenie jest częścią kursu
Modelowanie obrazów z Keras
Instrukcje do ćwiczenia
- Zainicjalizuj zmienną
ohe_labels, która będzie przechowywać tablicę zakodowaną metodą one-hot. - Użyj
np.where(), aby w każdej iteracji znaleźć pozycję kategorii danego elementu w tablicycategories. - Przypisz wartość
1do odpowiedniej kombinacji wiersza i kolumny w każdej iteracji.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# The number of image categories
n_categories = 3
# The unique values of categories in the data
categories = np.array(["shirt", "dress", "shoe"])
# Initialize ohe_labels as all zeros
ohe_labels = ____((len(labels), n_categories))
# Loop over the labels
for ii in range(len(labels)):
# Find the location of this label in the categories variable
jj = np.where(___)
# Set the corresponding zero to one
ohe_labels[____] = ____