
Machine Learning based Stress Detection Using Multimodal Physiological Data
Machine Learning based Stress Detection Using Multimodal Physiological Data
IEEE BASE PAPER TITLE:
Machine and Deep Learning Models for Stress Detection Using Multimodal Physiological Data
IEEE BASE PAPER ABSTRACT:
Stress can disrupt daily activities and harm health if prolonged or severe. Early detection of mental stress, indicated by changes in bio-signals like thermal, electrical, and acoustic signals, can prevent related health issues. This study employs machine learning and deep learning techniques on multimodal dataset from wearable sensors, focusing on processed metrics for the three-axis acceleration (ACC), electrocardiogram (ECG), blood volume pulse (BVP), body temperature (TEMP), respiration (RESP), electromyogram (EMG), and electrodermal activity (EDA) from the 15 subjects in the WESAD dataset to effectively classify four different states – baseline, stress, amusement, and meditation. Seven traditional machine learning algorithms – Logistic Regression, Gaussian Naïve Bayes Classifier, AdaBoost Classifier, XGB Classifier, Decision Trees Classifier, Extra Trees Classifier, and Random Forest Classifier and three widely used deep learning algorithms – Deep Neural Network, Convolutional Neural Network and Recurrent Neural Network were trained and tested on the dataset on two phases to predict the state of different subject at any given time. Our findings indicate that Recurrent Neural Networks achieved an F1 score of 93% when trained on a selected set of subjects and tested on the data from different subjects. Traditional machine learning algorithms, including Random Forest, Extra Trees, and XGB Classifiers, on the other hand, each achieved an F1 score of 99% when trained and tested on the data for the same set of subjects. Additionally, models performed better on chest data when trained and tested on the same subjects, while they perform better on wrist data when trained on a random group of subjects and tested on the remaining ones.
PROJECT OUTPUT VIDEO:
ALGORITHM / MODEL USED:
CatBoost Classifier, Stacking Classifier.
OUR PROPOSED PROJECT ABSTRACT:
Stress has become a significant health concern in modern society, contributing to various physical, psychological, and behavioral disorders. Traditional stress assessment methods such as self-report surveys, clinical evaluations, or wearable monitoring devices often suffer from limitations including subjectivity, high cost, limited accessibility, and lack of continuous monitoring. With the increasing availability of physiological data and advancements in machine learning, there is a growing need for an automated, accurate, and efficient system that can detect stress levels using objective biometric indicators.
This project presents a machine learning based approach for stress level detection using multimodal physiological data derived from the SaYoPillow dataset. The dataset contains 630 records with nine physiological attributes, including snoring range, respiration rate, body temperature, limb movement rate, blood oxygen level, eye movement, hours of sleep, heart rate, and corresponding stress levels categorized from low to high. The system is implemented using Python for backend processing and Flask as the web framework, with HTML, CSS, and JavaScript used to develop the user interface for real-time stress prediction.
As our contribution in the proposed system, two supervised learning models: CatBoost Classifier and a Stacking Classifier were developed and evaluated to classify stress levels. The CatBoost Classifier demonstrated exceptional performance, achieving 100% accuracy on both training and testing datasets, indicating its strong ability to generalize across the data. The Stacking Classifier, integrating multiple base learners with a meta-model, also performed robustly with a training accuracy of 100% and a testing accuracy of 97.62%. The results confirm that ensemble-based learning significantly enhances classification stability and reliability.
This project highlights the effectiveness of combining multimodal physiological indicators with advanced machine learning techniques for stress detection. The implemented web-based system offers a lightweight, user-friendly interface capable of delivering rapid, accurate stress predictions, demonstrating potential for real-world applications in health monitoring, wellness tracking, and intelligent sleep support systems.
SYSTEM REQUIREMENTS:
HARDWARE REQUIREMENTS:
- System : Pentium i3 Processor.
- Hard Disk : 20 GB.
- Monitor : 15’’ LED.
- Input Devices : Keyboard, Mouse.
- Ram : 8 GB.
SOFTWARE REQUIREMENTS:
- Operating System : Windows 10 / 11.
- Coding Language : Python 3.12.0.
- Web Framework : Flask.
- Frontend : HTML, CSS, JavaScript.
REFERENCE:
Abdelfattah, S. Joshi and S. Tiwari, “Machine and Deep Learning Models for Stress Detection Using Multimodal Physiological Data” in IEEE Access, vol. 13, pp. 4597-4608, 2025.
👉CLICK HERE TO BUY THIS PROJECT “Machine Learning based Stress Detection Using Multimodal Physiological Data” SOURCE CODE👈
Frequently Asked Questions (FAQ’s) and Answers
The purpose of this project is to develop a machine learning–based system that predicts stress levels using physiological data such as heart rate, snoring range, respiration rate, and blood oxygen levels. The system analyzes these inputs and classifies stress into five levels ranging from low to high.
This project uses the SaYoPillow dataset, which contains 630 records with nine physiological features related to sleep and body activity. These features are used to classify stress levels.
Two models are used: • CatBoost Classifier • Stacking Classifier These models were trained and evaluated to determine the best-performing algorithm for accurate stress classification.
CatBoost Classifier: • Training Accuracy: 100% • Testing Accuracy: 100% Stacking Classifier: • Training Accuracy: 100% • Testing Accuracy: 97.62% The CatBoost model achieved the highest performance.
The system predicts five stress levels: • 0 – Low/Normal • 1 – Medium Low • 2 – Medium • 3 – Medium High • 4 – High
The system uses the following nine features: sr – Snoring Range rr – Respiration Rate t – Body Temperature lm – Limb Movement Rate bo – Blood Oxygen rem – Eye Movement sr.1 – Hours of Sleep hr – Heart Rate sl – Stress Level (output category)
• Backend: Python • Web Framework: Flask • Frontend: HTML, CSS, JavaScript
The user enters physiological data values into a web form. The system processes these inputs, sends them to the machine learning model, and displays the predicted stress level instantly.
Currently, the system performs manual input–based stress prediction. Real-time detection using sensors can be added in future enhancements.
The trained model is saved as a .pkl (pickle) file. Flask loads the model at runtime, processes user inputs, sends them to the model, and renders the predicted output to the user interface.
CatBoost automatically handles feature interactions, works well with smaller datasets, and provides high accuracy without extensive preprocessing or parameter tuning. In this project, it achieved perfect prediction performance.
The output is a stress level prediction (0–4) along with a corresponding stress category label such as Low, Medium, or High.
Traditional methods rely on personal surveys or clinical assessments, which may be subjective. This system uses objective physiological signals and machine learning algorithms to provide automated, data-driven stress prediction. 1. What is the main purpose of this project?
2. Which dataset is used in this project?
3. What machine learning models are used for stress detection?
4. What are the accuracy results of the models?
5. How many stress levels does the system predict?
6. What physiological features are used as input?
7. Which technologies are used to develop the system?
8. How does the user interact with the system?
9. Is the system capable of real-time stress detection?
10. How are the machine learning models integrated into the web application?
11. What makes CatBoost suitable for this project?
12. What are the expected outputs of the system?
13. What makes this system different from traditional stress detection methods?



