I was just wondering if anybody would be able to help with some data I am struggling to extract from keras after a model I have built is run on my data. The main issue here is the number of categorical data I have and how I am trying to find relationships between them. I have built a sequential model for some genomic data as follows:
Data=Genes as columns and ages as columns: Categorical data such as age and organ etc are one-hot encoded:
onehot <- data.frame(to_categorical(onehot$Age, 7), to_categorical(onehot$Organ, 13), to_categorical(onehot$Sex, 4, onehot[,1:5000] **(number of genes**)..etc
split data (code not shown
build model (sequential)
model <- keras_model_sequential() model %>% layer_dense(units=150, activation = 'relu', input_shape = 5000) %>% #layer_dropout(0.4)%>% #layer_dense(units = 128, activation = "relu") %>% layer_dense(units = 64, activation = "relu") %>% #layer_dense(units = 32, activation = "relu") %>% #layer_dropout(0.2) %>% #layer_dense(units = 5074, activation = "relu") %>% layer_dense(units=ncol(trainingtarget1), activation = "sigmoid") # sigmoid for multi-class and multi-label classification model %>% keras::compile(loss='binary_crossentropy', optimizer='adam', metrics='accuracy') history <- model%>% fit(as.matrix(training1), # input, the first independent variables as.matrix(trainingtarget1), # input, Metadata epoch=200, batch=32, validation_split = 0.15, callbacks = list(early_stop, print_dot_callback))
Run test set on model
I get good accuracy on this. I can predict classes on the individual categorical data to see how well it identifies organ, age etc...
What I would like to do is extract the genes that that light up because of relationships between the one-hot encoded categorical data.. i.e, genes that are high in young ages and low in adults in 5 of the organs specifically because they are female organs (for example).. Is there a way of extracting relational information like this? Given that this is a sequential model, it must find patterns linked to this also.....
I would be more than happy to provide any more code if necessary!
Any help would be greatly appreciated!