5

I have two trained models. One is using a LinearSVC algorithm and is trained on numerical data from medical examination from patients with diabetic retinopathy. The second one is a neural network trained on images of retina scans from patients with the same disease.

The models predict if the patient has retinopathy or not. Both are written using Python 3.6 and Keras and have accuracy around 0.84.

Is it possible to combine those two models in any way to increase the accuracy of predictions?

I'm not sure in what way it could be achievable as they are using a different kinds of data. I have tried using ensembling methods but didn't get better scores with them.

nbro
  • 42,615
  • 12
  • 119
  • 217

1 Answers1

2

You can try using a multi-input model. Here is a recent post with a similar discussion, with the required architecture defined in the answer.

Instead of combining the separate models, you can create a model which uses image and numerical data side by side. Keras allows you to use different types of data using multi input structure via functional API. And then you can combine them to create a single machine learning model. Basic idea is like this:

this

This image was taken from here, where you can find further details and the code implementation as well. Actually, the discussion in the introduction of that post is almost the same as your question: What to do when the inputs are:

  • Numeric/continuous values, such as age, heart rate, blood pressure
  • Categorical values, including gender and ethnicity
  • Image data, such as any MRI, X-ray, etc.

Also, section 5.1 of this blogpost details the same process.

serali
  • 900
  • 7
  • 17