Я новичок в ML и пытаюсь разделить текст на две категории. Мой набор данных сделан с помощью Tokenizer из медицинских текстов, он несбалансирован, и есть 572 записи для обучения и 471 для тестирования.
Мне действительно сложно создать модель с разнообразным прогнозируемым результатом, почти все значения одинаковы. Я устал использовать модели из таких примеров, как this, и сам настраивать параметры, но вывод всегда бессмысленен
Здесь представлены токенизированные и подготовленные данные.
Вот сценарий: Gist
Образец модели, который я использовал
sequential_model = keras.Sequential([
layers.Dense(15, activation='tanh',input_dim=vocab_size),
layers.BatchNormalization(),
layers.Dense(8, activation='relu'),
layers.BatchNormalization(),
layers.Dense(1, activation='sigmoid')
])
sequential_model.summary()
sequential_model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['acc'])
train_history = sequential_model.fit(train_data,
train_labels,
epochs=15,
batch_size=16,
validation_data=(test_data, test_labels),
class_weight={1: 1, 0: 0.2},
verbose=1)
К сожалению, я не могу поделиться наборами данных. Также я устал использовать keras.utils.to_categorical с метками классов, но это не помогло