Utilizarea codificării one-hot pentru reprezentarea imaginilor
Rețelele neuronale se așteaptă ca etichetele claselor dintr-un set de date să fie organizate în format one-hot encoded: fiecare rând din array conține zerouri în toate coloanele, cu excepția coloanei corespunzătoare etichetei unice, care are valoarea 1.
Setul de date fashion conține trei categorii:
- Cămăși
- Rochii
- Pantofi
În acest exercițiu, vei crea o codificare one-hot pentru un eșantion mic din aceste etichete.
Acest exercițiu face parte din cursul
Modelarea imaginilor cu Keras
Instrucțiuni pentru exercițiu
- Inițializează variabila
ohe_labelspentru a stoca array-ul one-hot encoded. - Folosește
np.where()pentru a găsi poziția categoriei elementului din fiecare iterație încategories. - Atribuie valoarea
1în combinația corectă de rând/coloană la fiecare iterație.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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[____] = ____