#python #machine-learning #scikit-learn #data-science #bioinformatics
Вопрос:
У меня есть набор данных строк символов. Каждый символ имеет свой собственный вектор признаков длиной 22.
Так, например:
Строка 1: LAAGVGNIYADEALFR
Строка 2: APVSFLLESVER
Каждый символ в каждой строке имеет следующий вектор признаков.
AA M
SS3 C
SS8 C
ASA 178.972
HseU 4.5287
HseD 7.80071
CN 13.7988
Psi 147.413
Phi -91.9785
Theta 114.81
Tau 175.495
P3C 0.999991
P3E 7.52701e-06
P3H 1.92849e-06
P8C 0.999994
P8S 3.92237e-09
P8T 1.08177e-06
P8H 4.76341e-07
P8G 1.01462e-07
P8I 8.74657e-20
P8E 4.67836e-06
P8B 6.26615e-08
Name: 0, dtype: object
Векторы признаков для всех символов имеют одинаковую длину, но количество символов в каждой строке разное.
Таким образом, каждая строка имеет таблицу функций (n x 22), где n-количество символов.
С каждой строкой связано одно целевое значение, которое я пытаюсь обучить модели для прогнозирования.
Также важно отметить, что одни и те же символы не имеют одинаковых значений функций, так как значения относятся к положению символа в строке.
Как я могу представить эти таблицы разных размеров в виде векторов одинакового размера, чтобы подготовить эти данные для обучения?
Я использую python.
Ответ №1:
Вы можете использовать нулевые отступы. Добавьте нулевые подушечки к обоим концам последовательности, пока она не достигнет указанной максимальной длины.
Если вы используете PyTorch, используйте torch.nn.utils.rnn.pad_sequence. Если Tensorflow, используйте tf.keras.предварительная обработка.последовательность.pad_sequences.