Eu sou novato em aprendizado de máquina e keras e agora estou trabalhando em um problema de classificação de imagem com várias classes usando keras. A entrada é marcada como imagem. Após algum pré-processamento, os dados de treinamento são representados na lista Python como:
[["dog", "path/to/dog/imageX.jpg"],["cat", "path/to/cat/imageX.jpg"], ["bird", "path/to/cat/imageX.jpg"]]
o "cachorro", "gato" e "pássaro" são os rótulos da classe. Eu acho que a codificação one-hot deve ser usada para esse problema, mas não sou muito claro sobre como lidar com esses rótulos de string. Eu tentei LabelEncoder () do sklearn desta maneira:
encoder = LabelEncoder()
trafomed_label = encoder.fit_transform(["dog", "cat", "bird"])
print(trafomed_label)
E a saída é [2 1 0], que é diferente da minha expectativa de algo como [[1,0,0], [0,1,0], [0,0,1]]. Isso pode ser feito com alguma codificação, mas eu gostaria de saber se existe alguma maneira "padrão" ou "tradicional" de lidar com isso?
fonte