LabelEncoder (): не начинать с 0 - PullRequest
0 голосов
/ 03 ноября 2019

Для модели 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 !!

1 Ответ

0 голосов
/ 04 ноября 2019

Я сомневаюсь, что кодировщик этикеток начинается с 1,

Бьюсь об заклад, если вы сделаете: encoded_y.index(0), он найдет где-то число 0.

Как вы убедились, чточисло 0 не в вашем массиве?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...