Inspiration

Many people who have undiagnosed depression may not realize it as a condition applicable to them. It is shocking what people can see as normal when exposed to a condition like depression for an extended period of time. Our goal heading into this project was to simply serve as a wake up call, getting people to question their own mental health and potentially encourage them to seek out help.

What it does

We built a discord bot that takes in some basic personal data, and the plugs it into a machine learning model that tests your data against a large dataset of students to see if your data correlates with students diagnosed with depression, so that we can alert those who may be at risk and direct them to resources that can help.

How we built it

We used the sklearn library in python to test several different machine learning algorithms against a large open-source dataset on students who were possibly diagnosed with depression. After we applied these models, we choose a model with high accuracy and precision, and used API tools to take in data from a conversation with a discord bot, and test that against the machine learning model

Challenges we ran into

  • Collaborative coding: We faced a lot of issues integrating our code together. Often, something that worked on one of our machines did not work on everyone else's, or something that someone built had only worked in a very specific way which had to be integrated with someone else's code that also only worked in a very specific way. Additionally, our github started to get messy and we faced challenges learning and working with that in a way that was the most effective.

  • Project development and scope: We faced challenges in the beginning about the best way to approach our idea. We knew we wanted to try and use machine learning models to help predict signs of depression, but we were having problems figuring out the best way to go about it. For example, we thought about trying to use audio data and applying machine learning models to that, or text data from posts that were flagged showing signs of depressive or suicidal tendencies, and we had a few other approaches that we considered too, but then we found that using a general data/questionnaire approach to be the best fit for us and our program.

Accomplishments that we're proud of

  • We successfully collaborated and specialized on all parts of our code, and each of contributed to a unique and essential part of this project.

  • Our model achieved good accuracy and precision results, and although we have room to improve, we can use what we have to be decently confident in our models predictions

  • We learned so much about machine learning and a lot greater potential applications for further use cases in each of our careers.

What we learned

  • How to make a basic classification ML model

  • How to use Flask with asynchronous API communication in conjunction with Discord's API

  • Pandas for much of the .csv

  • How to use sklearn for every part of the machine learning process, data processing, organizing, splitting, and the actually modeling part itself, followed by measuring the indicators of how successful the model was.

  • git and github collaboration skills

  • So much about machine learning foundation ideas, application techniques, and further potential applications for machine learning tools

What's next for DepressoBot

  • Audio-based classification for more accurate indicators

  • More attractive user-bot interactions

  • Expanding the triggers for DepressoBot to include not only direct requests for it, but uses of language indicative of depression

  • Classification using a more robust questionnaire

  • Experimenting with more machine learning tools and methods to try and further improve results

Built With

Share this project:

Updates