Я считаю, что это мой первый вопрос здесь.
Я очень новичок в нейронных сетях. Я только начал работать над одним из них на Python, который должен проверять уровень глюкозы у пациентов с риском развития диабета и оценивать их от 1 до 3 по степени риска развития заболевания. 1 - высокий риск, 3 - низкий.
Прямо сейчас у меня ~ 110 графиков, ранее ранжированных врачом (42 риска 1, 51 риск 2, 10 риска 3). Я случайным образом взял 25% каждой группы в качестве тестового набора, а остальные положил в качестве обучения, а затем отдал его Keras для обучения.
Работает просто отлично. Вот мой код:
print("Convoluting")
classifier.add(Convolution2D(32, 3, 3, input_shape = (64, 64, 3), activation = 'relu'))
print("Pooling")
classifier.add(MaxPooling2D(pool_size = (2,2)))
print("Flattening")
classifier.add(Flatten())
print("Connecting")
classifier.add(Dense(activation = 'relu', units=128))
classifier.add(Dense(activation = 'softmax', units=3))
print("Compiling CNN")
classifier.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
print("Generating images")
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator()
test_datagen = ImageDataGenerator()
print("Setting sets")
training_set = train_datagen.flow_from_directory(
'dataset/train_set',
target_size=(64,64),
batch_size=Batches,
class_mode='categorical')
test_set = test_datagen.flow_from_directory(
'dataset/test_set',
target_size=(64,64),
batch_size=Batches,
class_mode='categorical')
print("training nn...")
from IPython.display import display
from PIL import Image
classifier.fit_generator(
training_set,
steps_per_epoch=StepsPerEpoch,
epochs=Epochs,
validation_data=test_set,
validation_steps=ValidationSteps)
Однако точность после тренировки не превысит 0,4. Теперь я знаю, что у меня сравнительно небольшой образец для обучения нейронной сети, но в настоящее время у меня нет доступа к информации от большего количества пациентов. Однако у меня есть доступ к демографическим данным этих пациентов, таким как вес, рост и возраст.
По сути, я хотел бы как-то указать вес, рост и возраст каждого пациента вместе с графиком, показывающим уровень глюкозы в крови. Так что моя программа знает, как учитывать эту информацию при вынесении суждения.
Мне не удалось найти ничего подобного при поиске в Интернете, хотя это может быть связано с моими небольшими знаниями по этому вопросу. Что мне делать?
Спасибо за ваше время.