This project aims to classify ECG signals as either Normal or Left Bundle Branch Block (LBBB) using machine learning models.
The key steps involved include:
- Data preprocessing
- Feature extraction
- Model training and evaluation
- Deployment
This project leverages machine learning techniques to classify ECG signals as Normal or LBBB. It involves the following steps:
- Preprocessing ECG signals using Butterworth bandpass filters.
- Extracting features from the signals using wavelet transforms.
- Training and evaluating different machine learning models.
- Deploying the best model using a GUI application.
The data preprocessing step involves:
- Removing noise from the ECG signals using a Butterworth bandpass filter.
- Normalizing the signals to a standard range to ensure consistent feature extraction.
Features are extracted from the preprocessed signals using wavelet transforms.
Statistical features such as:
- Mean
- Standard deviation
- Skewness
- Kurtosis
are calculated from the wavelet coefficients.
Various machine learning models are trained and evaluated on the extracted features, including:
- K-Nearest Neighbors (KNN)
- Support Vector Machine (SVM)
- Random Forest
The best model is selected based on accuracy and other evaluation metrics.
The best-performing model (KNN) is deployed using a GUI application.
This application allows users to:
- Input ECG signals
- Receive a classification result: Normal or LBBB
To use the deployed model:
- Run the
gui.py
file to start the GUI application. - Input your ECG signal into the application.
- View the classification result (Normal or LBBB).
The project achieved impressive results:
- The best model (KNN) achieved an accuracy of 98.75% on the test set.
- Detailed evaluations and feature importances are documented in the project report.