В Keras у меня может быть следующий код:
docs
Out[9]:
['Well done!',
'Good work',
'Great effort',
'nice work',
'Excellent!',
'Weak',
'Poor effort!',
'not good',
'poor work',
'Could have done better.']
labels = array([1,1,1,1,1,0,0,0,0,0])
voc_size = 50
encoded = [one_hot(d, voc_size) for d in docs]
max_length = 4
padded_docs = pad_sequences(encoded, maxlen=max_length, padding='post')
Насколько я понимаю, кодировка one_hot уже создает равную длину каждого документа на основе размера словарного запаса. Итак, почему каждый документ должен быть дополнен снова?
РЕДАКТИРОВАТЬ: еще один пример для большей ясности:
Кодирование в одно касание - это представление категориальных переменных (например, кошка, собака, крыса)как двоичные векторы (например, [1,0,0], [0,1,0], [0,0,1]).
Таким образом, в этом случае кошка, собака и крыса кодируются как равныедлина вектора. Чем это отличается от приведенного выше примера?