Jestem początkującym w uczeniu maszynowym i keras, a teraz pracuję nad problemem klasyfikacji klas obrazów za pomocą keras. Wejście jest oznaczone obrazem. Po wstępnym przetworzeniu dane szkoleniowe są reprezentowane na liście Python jako:
[["dog", "path/to/dog/imageX.jpg"],["cat", "path/to/cat/imageX.jpg"], ["bird", "path/to/cat/imageX.jpg"]]
„pies”, „kot” i „ptak” to oznaczenia klasy. Wydaje mi się, że w przypadku tego problemu należy zastosować kodowanie jednorazowe, ale nie bardzo wiem, jak sobie z tym poradzić z tymi etykietami ciągów. Próbowałem skearn's LabelEncoder () w następujący sposób:
encoder = LabelEncoder()
trafomed_label = encoder.fit_transform(["dog", "cat", "bird"])
print(trafomed_label)
A wynik to [2 1 0], co jest inne niż moje oczekiwane wyjście czegoś takiego jak [[1,0,0], [0,1,0], [0,0,1]]. Można to zrobić za pomocą kodowania, ale chciałbym wiedzieć, czy istnieje jakiś „standardowy” czy „tradycyjny” sposób radzenia sobie z tym?