НачатьНачать бесплатно

Унитарное кодирование для представления изображений

Нейронные сети ожидают, что метки классов в наборе данных будут представлены в формате унитарного кодирования (one-hot encoding): каждая строка массива содержит нули во всех столбцах, кроме одного — столбца, соответствующего конкретной метке, который принимает значение 1.

Набор данных о моде включает три категории:

  1. Рубашки
  2. Платья
  3. Обувь

В этом упражнении вы создадите унитарное кодирование для небольшой выборки этих меток.

Это упражнение является частью курса

Моделирование изображений с помощью 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[____] = ____
Редактировать и запускать код