Унитарное кодирование для представления изображений
Нейронные сети ожидают, что метки классов в наборе данных будут представлены в формате унитарного кодирования (one-hot encoding): каждая строка массива содержит нули во всех столбцах, кроме одного — столбца, соответствующего конкретной метке, который принимает значение 1.
Набор данных о моде включает три категории:
- Рубашки
- Платья
- Обувь
В этом упражнении вы создадите унитарное кодирование для небольшой выборки этих меток.
Это упражнение является частью курса
Моделирование изображений с помощью Keras
Инструкции к упражнению
- Инициализируйте переменную
ohe_labels, которая будет хранить массив с унитарным кодированием. - Используйте
np.where(), чтобы найти позицию категории текущего элемента вcategoriesна каждой итерации. - Присвойте значение
1в соответствующую ячейку (строку и столбец) на каждой итерации.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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[____] = ____