Использование Keras LSTM для прогнозирования 10+ классов: несоответствующие выходные данные меток в модели.predict - PullRequest
0 голосов
/ 08 октября 2018

Я использую keras bi-lstm, чтобы предсказать 14 классов.Вот мой индекс метки:

label_index=`{'1':0,'2':1,'D':2,'7':3,'8':4,'9':5,'10':6,'11':7,'12':8,'13':9,'14':10,'15':11,'16':12,'17':13}`

Вот часть настроек моей модели:

model.add(Bidirectional(LSTM(64)))
model.add(Dropout(0.5))
model.add(Dense(14, activation='softmax'))

model.compile('adam', 'sparse_categorical_crossentropy', metrics=['accuracy'])

"14" в функции Dense - это количество классов.Когда я посмотрел на распределение меток pred = model.predict(x_test, verbose=0), я обнаружил следующее:

Counter({'1': 54,
         '10': 88,
         '11': 5,
         '12': 2,
         '13': 6,
         '14': 5,
         '3': 65,
         '4': 5,
         '5': 3,
         '6': 28,
         '7': 10,
         '8': 3,
         '9': 3})

Откуда взялась эта "14" ????Это не в моем индексе.И не было "0"!Я полагаю, что в ситуации с несколькими классами kera.predict не может вывести ноль.Должен ли я вычесть 1 для каждого элемента в моем "пред"?

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