我想使用R中的keras / tensorflow使用两个结构不同的数据(混合数据)预测二进制分类器。
我遇到了一个有趣的教程,该教程在python中使用了keras:
https://www.pyimagesearch.com/2019/02/04/keras-multiple-inputs-and-mixed-data/
我想在问题中做类似的事情:将两个不同的方面用作模型的两个分支,然后将它们连接起来,然后一起进行训练。因为我以前只在keras中使用顺序模型,所以我真的不知道该怎么做。
我的第一个分支包含了对0到1(标准化)患者的测量。
此数据的维数例如为200x100,可对100位患者进行200次测量。
我的第二个分支包含一种网络信息/(最近的)邻居构造,用于相同的测量和患者。此信息被保存为邻居的向量。
此数据的维数例如这100名患者中200次测量中的4个最近邻居为200x100x4。
如何在R中构造分支和模型?我想从最简单的方法开始,然后尝试扩展。
第一部分可以例如看起来像这样,可以正常运行:
model <- keras_model_sequential()
model %>%
layer_dense(units = FLAGS$dense_units1, input_shape = c(measurements)) %>%
layer_dense(units = 2, activation = 'softmax')
adadelta <- optimizer_adadelta(lr = FLAGS$learning_rate)
early_stopping <- callback_early_stopping(monitor = 'val_loss', patience = 20)
model %>% compile(loss = 'binary_crossentropy', optimizer = adadelta, metrics = c("accuracy"))
model %>% fit(data.training, data.trainLabels, epochs = FLAGS$epochs, view_metrics = FALSE,
validation_split = 0.2, shuffle = TRUE
, callbacks = early_stopping
)