In the modern world, depression, and stress is an ever-growing problems in our society due to busy work-life and schedules. Most working people and young adults are facing depression in one form or the other. The majority of people think expressing a weakness like depression is taboo. But it shouldn't be the case as keeping it to themselves will only lead to extreme scenarios of suicide and toxic relationships. People are more comfortable sharing their problems on social media rather than with each other. Helping out people facing mental health issues using ML detection tools is our motivation for this problem.

What it does

We have implemented an NLP-based ML solution that uses datasets of mental health issues in the form of social media posts of the previous user and we predict if the current user is depressed or not.

How we built it

We built the classification machine learning models with Scikit-Learn in Python and the following models were used: 1) Support Vector Machine 2) Logistic Regression 3) K-nearest neighbors 4) Decision Tree 5) Naive Bayes In the end, we compared their accuracies and SVM was the best model with the highest accuracy. We also have implemented a user interface to get the feed for predicting the outcome if depressed or not.

Challenges we ran into

There are a few challenges we have faced, the first would be comparing different models and deciding which one is the best model. Training with full samples takes enormous time so we shrink our sample size and gain some time to train a sample in each model, compare and choose the optimal one. The second challenge we ran into is the connection between Python and HTML which we couldn't find a useful tutorial online. We utilized the file modules and accomplished our task.

Accomplishments that we're proud of

1) Training multiple models and working around with a number of features to increase accuracy 2) Creation of an interactive front end for deployment

What we learned

We learned that creating a project goes in steps and phases like ideation, preparing the dataset, coding, testing, and deployment. Each phase came with its own difficulties. Time management and efficient task splitting helped a lot. From the technical aspect, we got to work with complex ML models, NLP, and Web development tools. This has boosted our confidence in building full-stack applications and working on real-life problems.

What's next for Depression Detection

PsychoDetector can accurately indicate whether a poster has or is likely to suffer from depression almost all the time. The next step for PsychoDetector would be getting larger data samples, to be used in actual practice and providing early suggestions and benefitting the social environment.

Share this project: