Я новичок в области машинного обучения и кера, и сейчас я занимаюсь многоклассовой классификацией изображений с помощью кера. На входе помечено изображение. После некоторой предварительной обработки данные обучения представлены в списке Python как:
[["dog", "path/to/dog/imageX.jpg"],["cat", "path/to/cat/imageX.jpg"], ["bird", "path/to/cat/imageX.jpg"]]
«собака», «кошка» и «птица» являются метками класса. Я думаю, что для этой проблемы следует использовать горячее кодирование, но я не очень понимаю, как с этим справляться, используя эти строковые метки. Я попробовал LabelEncoder () в sklearn следующим образом:
encoder = LabelEncoder()
trafomed_label = encoder.fit_transform(["dog", "cat", "bird"])
print(trafomed_label)
И результат равен [2 1 0], который отличается от того, что я ожидал от чего-то подобного [[1,0,0], [0,1,0], [0,0,1]]. Это можно сделать с помощью некоторого кодирования, но я хотел бы знать, существует ли какой-то «стандартный» или «традиционный» способ справиться с этим?