Bilder mit One-Hot-Kodierung darstellen
Neuronale Netze erwarten, dass die Labels der Klassen in einem Datensatz so organisiert sind, dass sie in einer One-Hot-Kodierung stehen: Jede Zeile im Array enthält in allen Spalten Nullen, außer in der Spalte, die einer eindeutigen Bezeichnung entspricht, die auf 1 gesetzt ist.
Der Datensatz „Mode“ hat drei Kategorien:
- Hemden
- Kleider
- Schuhe
In dieser Übung erstellst du eine One-Hot-Kodierung für eine kleine Auswahl dieser Labels.
Diese Übung ist Teil des Kurses
Bildmodellierung mit Keras
Anleitung zur Übung
- Initialisiere die Variable „
ohe_labels
“, um das One-Hot-codierte Array zu speichern. - Mit „
np.where()
“ kannst du den Speicherort der Kategorie des Elements in jeder Iteration in „categories
“ finden. - Weise in jeder Iteration ein „
1
” der richtigen Zeilen-/Spaltenkombination zu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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[____] = ____