Для модели Keras мне нужно преобразовать свои метки с помощью LabelEncoder (), прежде чем делать кодирование OneHotEncoding. Проблема: у меня есть 10 классов, но LabelEncoder () выполняет преобразование, начиная с 1 (а не 0, как объясняется в документации). У меня 9 классов в конце (1, 2, 3, 4, 5, 6, 7, 8, 9), а не 10.
Это странно, потому что документация объясняет: кодировать метки со значениями от 0 доn_classes-1.
Это проблема, потому что у матрицы путаницы есть затухание в 1 ячейку !!!
# encode class values as integers
encoder = LabelEncoder()
encoder.fit(y)
encoded_y = encoder.transform(y)
# convert integers to dummy variables (i.e. one hot encoded)
dummy_y = np_utils.to_categorical(encoded_y)
Я имею для массива encoded_y:
([1, 1, 1, ..., 7, 9, 1])
Я прочитал весь массив, а не 0 !!