Aan de slagGa gratis aan de slag

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:

  1. Overhemden
  2. Jurken
  3. 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

Cursus bekijken

Oefeninstructies

  • Initialiseer de variabele ohe_labels om de one-hot encoded array vast te houden.
  • Gebruik np.where() om in elke iteratie in categories de positie van de categorie van het item te vinden.
  • Zet in elke iteratie een 1 op 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[____] = ____
Code bewerken en uitvoeren