One-hot encoding gebruiken om afbeeldingen te representeren
Neural networks verwachten dat de labels van klassen in een gegevensset one-hot encoded zijn: elke rij in de array bevat nullen in alle kolommen, behalve de kolom die overeenkomt met een uniek label; die krijgt de waarde 1.
De fashion-gegevensset bevat drie categorieën:
- Overhemden
- Jurken
- Schoenen
In deze oefening maak je een one-hot encoding van een kleine steekproef van deze labels.
Deze oefening maakt deel uit van de cursus
Beeldmodellering met Keras
Oefeninstructies
- Initialiseer de variabele
ohe_labelsom de one-hot encoded array vast te houden. - Gebruik
np.where()om in elke iteratie incategoriesde positie van de categorie van het item te vinden. - Zet in elke iteratie een
1op de juiste combinatie van rij en kolom.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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[____] = ____