This repo is a project for heartbeat classification.
The datasets we used come from mit and ptb. We trained several model with classical machine learning and deep learning model to classifique the normal and abormal even multiple classification.
You can find our streamlit app to get more information
The datasets come from kaggle.
To run this project, you need to download those 4 files, and put them under data/raw(create if folder doesn't exist) folder with the original name.
Recommand using conda to management the enviorment,
Recoomand intercepter version is: 3.11.5(We run with this version, you can use any newer version)
conda install --yes --file requirements.txt
or
pip install -r requirements.txt
Then you can check the files under the folder notebooks, there are notebooks for data inspect/preprocessing/modeling/explanation.
To understand the file structure check Project Organization.
The folder pipelines contains the final pipeline that we want to use in production environement.
The pipeline combining
- a data shift transformer: to align R wave peak to get better interpretability.
- a MinMaxScaler that we realized during the training process.
- a CNN binary classification model.
To run our streamlit app on local.
run streamlit run ./src/streamlit/app.py --server.runOnSave true --server.port 8080