Я пытаюсь построить модель классификации Tensorflow, в которой в качестве признаков используются коды альфа-цифры c. Вот несколько примеров из набора данных:
Code1 Code2 Code3 Class1 Class2
K21 LZ82 RR90 0 1
K99 LZ82 OPN1 0 1
N21 Z93 Z33 1 0
Я понимаю, что мне нужно преобразовать эти строки альфа-чисел c в векторы / целые числа / числа с плавающей точкой. Я уже пробовал Bag of Words (BOW) по всему корпусу с минимальным и максимальным масштабированием, но я не добился очень хорошей точности от моей модели.
В моем общем наборе из 6000 кодов некоторые коды используются до 40000 раз, поэтому был довольно широкий диапазон значений от BOW. Так, например, после min-max масштабирования у меня были данные, которые выглядели так:
Code1 Code2 Code3 Class1 Class2
0.8736080064 0.2166280429 0.0008203277 0 1
В качестве дополнительной информации, вот моя сетевая архитектура:
const model = tf.sequential()
model.add(tf.layers.dense({ units: 200, activation: 'relu', inputShape [this.NUM_CODES_PER_RECORD] }))
model.add(tf.layers.dense({ units: 150, activation: 'relu' }))
model.add(tf.layers.dense({ units: 100, activation: 'relu' }))
model.add(tf.layers.dense({ units: this.NUM_CLASSES, activation: 'softmax' }))
Насколько я понимаю, это Кажется, что вложения Word в большей степени связаны с обработкой естественного языка, чем с моей задачей, поэтому я еще не пытался встраивать.
Буду признателен за любые предложения о том, как преобразовать эти коды alphanumeri c в векторы / целые числа / числа с плавающей точкой для моей модели.