Inspiration

Machine learning models tend to make amazing predictions, but the best models are way too complex to interpret. This limits their usability in critical applications like medical diagnosis, where just a prediction is not enough--we also need to know why a model made the prediction it made.

What it does

Our project provides a simple framework that allows medical practitioners to upload a deep learning model of their choice along with ECG data (.hea and .dat files). Our tool then makes a prediction and plots which parts of the ECG scan were most relevant. It uses the LIME algorithm to figure out

How we built it

We trained a few deep learning classifiers (LSTM networks) on Google Cloud made a Jupyter Notebook to visualize the predictions.

Challenges we ran into

Setting up a Google Cloud instance and setting up training on the Google Compute Engine was the most complicated part.

Accomplishments that we're proud of

  • Making arbitrary models explain themselves!
  • Made a rather good model using a really small dataset.

What we learned

We learned to set up machine learning training on Google Cloud.

What's next for explainmyheart

Make a dynamic web app to allow turnkey operation by medical practitioners instead of having to run a Jupyter Notebook.

Built With

  • bokeh
  • gcp
  • jupyter-notebook
  • keras
  • lime
  • python
  • tensorflow
Share this project:

Updates