Классификация классов PLUS прогнозирование результата одного столбца на основе нескольких классов - PullRequest
0 голосов
/ 14 марта 2020

Я хотел бы реализовать прогностическую функцию в моей последовательной модели, в которой я не уверен, как начать, и был бы признателен за некоторую помощь и совет.

У меня есть некоторые данные генома c, которые состоят из 5000 функций. В совокупности они определяют орган, возраст, пол и некоторые другие классы.

Я создал классификатор с несколькими метками, который (на основе 5000 функций) может генерировать прогнозы для возраста, пола органа и т. Д. c. Это прекрасно работает !: реализация выглядит следующим образом:

чтение данных в восходящем направлении, одно масштабное объявление с горячим кодированием, а затем:

таблица из 5 первых столбцов (выборок) и строк (функций) ( не масштабируется между 0 и 1)

    sample1 sample2 sample3 sample4 sample5
gene1   8.923700505 10.157227   9.842046983 9.529452076 9.839967239
gene2   4.081244073 4.081244073 4.396369774 4.081244073 4.690028567
gene3   7.588304811 6.290361785 5.542020891 5.620932551 5.776284474
gene4   5.831267204 5.017415104 4.585968188 5.30415074  3.65495016
gene5   4.695983506 4.473464397 4.91824237  4.473464397 4.643467985

X_train, X_test, y_train, y_test = train_test_split(normCountsscale1,
trainingtarget, train_size = 0.8)


    model=tf.keras.models.Sequential()
    model.add(tf.keras.layers.Dense(units=64, input_dim=5000, activation="relu"))
    model.add(tf.keras.layers.Dense(units=32, activation="relu"))
    model.add(tf.keras.layers.Dense(units=100, activation="relu"))
    model.add(tf.keras.layers.Dense(units=24, activation="sigmoid"))

    model.compile(loss="binary_crossentropy", optimizer="adam", metrics=['accuracy'])

    history=model.fit etc...

Это работает очень хорошо с превосходной точностью прогнозирования, и теперь я хотел бы создать дополнительный прогнозирующий раздел либо в существующей модели, либо в новой модели ...

У меня есть столбец классов, которые, как я знаю, являются результатом комбинации некоторых классов выше (например, назовите это диагноз). Например, сочетание определенного органа, возраста и пола может привести к диагнозу x в новой колонке, а другое сочетание возраста и пола может привести к диагнозу y и т. Д. И т. Д. Подобно задаче в ссылке ниже, где различные столбцы признаков могут предсказать, будет ли у пациента заболевание сердца:

https://www.tensorflow.org/tutorials/structured_data/feature_columns

Причина, по которой я застрял, заключается в том, что моя структура данных немного отличается, и это немного смущает меня. У меня есть 5000 функций, которые в совокупности определяют мои выборки (которые также могут принадлежать различным классам), и они определены в моей модели keras как закодированное представление моих классов в одно касание. Это отличается от примеров, с которыми я сталкивался, таких как приведенная выше ссылка, где столбцы объектов содержат данные, непосредственно содержащиеся в столбцах.

Можно ли выполнить прогнозный анализ (прогноз одного столбца на основе комбинации нескольких других) с форматом данных, который я представил выше? Пу sh в правильном направлении будет принята с благодарностью! В качестве альтернативы есть ли способ связать метод столбцов объектов в другом методе с фактическими объектами из данных через слой объединения? или разделение сети на раннем этапе после входного слоя. Одна ветвь для последовательной задачи классификации и. другая ветвь классификации столбца «диагноз»?

большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...