What it does

Asks the user to choose from a list of symptoms that they are experiencing using a checklist format on the frontend and then outputs the most likely disease that the user has based on their responses.

How we built it

We trained a RandomForestClassifier model using a dataset listing various unique diseases and their corresponding symptoms. We found the dataset on Kaggle and it was called Disease Symptom Prediction. We used JavaScript, Python, HTML, and CSS to create the web pages and user interface, then connected the ML model to the website for everything to run.

Challenges we ran into

We initially wanted to create a web app that would take images of skin abnormalities and determine whether or not the user should be worried about having skin cancer. However, after finding the image dataset, we realized that we would not be able to finish training the model over all the images in enough time (it would take days to complete since we didn't have access to a GPU). Thus, we decided to switch our idea towards a descriptors based diagnoser, and trained a model based on symptoms instead of pictures. We also ran into a HttpRequest error while developing our web app user authentication on flask, and after not being able to solve it we decided to prioritize and to skip the authentication.

Accomplishments that we're proud of

We learnt to connect a machine learning model to the back end of a web page using Flask, which was a first time accomplishment for our entire team. We also cracked out our final product in the last few hours of the competition after making drastic changes.

What we learned

Training image classifying ML models without access to GPUs is an extremely long and tedious process, and cannot be completed within a short amount of time.

What's next for YaHealthMate

Including pictures as an input type would make YaHealthMate more versatile along with developing a full web app with user authentication.

Built With

Share this project:

Updates