{"id":25098334,"url":"https://github.com/bunyaminergen/heartbeat","last_synced_at":"2025-08-23T09:09:26.353Z","repository":{"id":275056602,"uuid":"922142127","full_name":"bunyaminergen/Heartbeat","owner":"bunyaminergen","description":"Heartbeat is a research project focused on classifying heartbeats using ECG (electrocardiogram) data. Within the scope of this project, both conventional and state-of-the-art models from the literature, as well as experimental deep learning architectures, will be investigated and compared through experimental analyses.","archived":false,"fork":false,"pushed_at":"2025-03-10T14:35:58.000Z","size":2088,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-04-19T16:52:35.694Z","etag":null,"topics":["ecg","ecg-classification","ecg-signal","healtcare"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bunyaminergen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-25T12:36:22.000Z","updated_at":"2025-03-10T14:35:14.000Z","dependencies_parsed_at":"2025-01-30T23:27:00.044Z","dependency_job_id":"ebc819e2-772e-4fe1-8d6e-88ecc3022068","html_url":"https://github.com/bunyaminergen/Heartbeat","commit_stats":null,"previous_names":["bunyaminergen/heartbeat"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bunyaminergen/Heartbeat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunyaminergen%2FHeartbeat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunyaminergen%2FHeartbeat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunyaminergen%2FHeartbeat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunyaminergen%2FHeartbeat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bunyaminergen","download_url":"https://codeload.github.com/bunyaminergen/Heartbeat/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bunyaminergen%2FHeartbeat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271746300,"owners_count":24813556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ecg","ecg-classification","ecg-signal","healtcare"],"created_at":"2025-02-07T18:31:05.557Z","updated_at":"2025-08-23T09:09:26.322Z","avatar_url":"https://github.com/bunyaminergen.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\".docs/img/HeartbeatLogo.png\" alt=\"HeartbeatLogo\" width=\"200\"\u003e\n\n![License](https://img.shields.io/github/license/bunyaminergen/Heartbeat)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/bunyaminergen/Heartbeat)\n![GitHub Discussions](https://img.shields.io/github/discussions/bunyaminergen/Heartbeat)\n![GitHub Issues](https://img.shields.io/github/issues/bunyaminergen/Heartbeat)\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-Profile-blue?logo=linkedin)](https://linkedin.com/in/bunyaminergen)\n\n\u003c/div\u003e\n\n# Heartbeat\n\n`Heartbeat` is a research project focused on classifying heartbeats using ECG (electrocardiogram) data. Within the scope\nof this project, both conventional and state-of-the-art models from the literature, as well as experimental deep\nlearning architectures, will be investigated and compared through experimental analyses.\n\n**Note**: _This is only a `v0.1.0 Initial` version; many new features will be added, models\nwill be fine-tuned or trained from scratch, and various optimization efforts will be applied. For more information,\nyou can check out the [Upcoming](#upcoming) section._\n\n**Note**: _If you would like to contribute to this repository,\nplease read the [CONTRIBUTING](.docs/documentation/CONTRIBUTING.md) first._\n\n---\n\n### Table of Contents\n\n- [Prerequisites](#prerequisites)\n- [Features](#features)\n- [Reports](#reports)\n- [Installation](#installation)\n- [File Structure](#file-structure)\n- [Version Control System](#version-control-system)\n- [Upcoming](#upcoming)\n- [Documentations](#documentations)\n- [License](#licence)\n- [Links](#links)\n- [Team](#team)\n- [Contact](#contact)\n- [Citation](#citation)\n\n---\n\n### Prerequisites\n\n- `Python 3.12` _(or above)_\n- `aws cli` _(for dataset download)_\n\n---\n\n### Features\n\n##### Models\n\n- [x] OneDCNN\n- [x] AdvancedOneDCNN\n- [x] OneDSelfONN\n- [x] AdvancedOneDSelfONN\n\n---\n\n### Reports\n\n##### Metrics\n\n##### OneDSelfONN\n\n![Final Test Confusion Matrix](.docs/report/img/confusion_matrix_test.png)\n![Final Train Confusion Matrix](.docs/report/img/confusion_matrix_train.png)\n![Final Validation Confusion Matrix](.docs/report/img/confusion_matrix_val.png)\n![Training Curves](.docs/report/img/training.png)\n![ROC Curve](.docs/report/img/roc_curve.png)\n\n##### Benchmark\n\n| Model               | Accuracy | Precision | Recall | F1 Score |\n|---------------------|----------|-----------|--------|----------|\n| OneDCNN             | 0.59     | 0.36      | 0.59   | 0.45     |\n| AdvancedOneDCNN     | 0.59     | 0.35      | 0.59   | 0.44     |\n| OneDSelfONN         | 0.60     | 0.44      | 0.58   | 0.45     |\n| AdvancedOneDSelfONN | 0.58     | 0.58      | 0.56   | 0.43     |\n\n![Benchmark](.docs/report/img/benchmark.png)\n\n---\n\n### Installation\n\n##### Linux/Ubuntu\n\n```bash\nsudo apt update -y \u0026\u0026 sudo apt upgrade -y\n```\n\n```bash\ngit clone https://github.com/bunyaminergen/Heartbeat\n```\n\n```bash\ncd Heartbeat\n```\n\n```bash\nconda env create -f environment.yaml\n```\n\n```bash\nconda activate Heartbeat\n```\n\n##### Dataset Download\n\n```bash\naws s3 sync --no-sign-request s3://physionet-open/challenge-2017/1.0.0/training .data/raw/train\n```\n\n```bash\naws s3 sync --no-sign-request s3://physionet-open/challenge-2017/1.0.0/validation .data/raw/validation\n```\n\n---\n\n### File Structure\n\n```Text\n.\n├── config\n│        └── config.yaml\n├── .data\n│         ├── binary\n│         │         ├── labels.npy\n│         │         └── signals.npy\n│         └── raw\n│             ├── train\n│             │         ├── A00\n│             │         │   ├── A00001.hea\n│             │         │   ├── A00001.mat\n│             │         │   ├── A00002.hea\n│             │         │   ├── A00002.mat\n│             │         │   ├── ...\n│             │         │   ├── A00998.hea\n│             │         │   ├── A00998.mat\n│             │         │   ├── A00999.hea\n│             │         │   └── A00999.mat\n│             │         ├── A01\n│             │         │   ├── A01000.hea\n│             │         │   ├── A01000.mat\n│             │         │   ├── A01001.hea\n│             │         │   ├── A01001.mat\n│             │         │   ├── ...\n│             │         │   ├── A01998.hea\n│             │         │   ├── A01998.mat\n│             │         │   ├── A01999.hea\n│             │         │   └── A01999.mat\n│             │         ├── A02\n│             │         │   ├── A02000.hea\n│             │         │   ├── A02000.mat\n│             │         │   ├── A02001.hea\n│             │         │   ├── A02001.mat\n│             │         │   ├── ...\n│             │         │   ├── A02998.hea\n│             │         │   ├── A02998.mat\n│             │         │   ├── A02999.hea\n│             │         │   └── A02999.mat\n│             │         ├── A03\n│             │         │   ├── A03000.hea\n│             │         │   ├── A03000.mat\n│             │         │   ├── A03001.hea\n│             │         │   ├── A03001.mat\n│             │         │   ├── ...\n│             │         │   ├── A03998.hea\n│             │   │   ├── A03998.mat\n│             │   │   ├── A03999.hea\n│             │   │   └── A03999.mat\n│             │   ├── A04\n│             │   │   ├── A04000.hea\n│             │   │   ├── A04000.mat\n│             │   │   ├── A04001.hea\n│             │   │   ├── A04001.mat\n│             │   │   ├── ...\n│             │   │   ├── A04998.hea\n│             │   │   ├── A04998.mat\n│             │   │   ├── A04999.hea\n│             │   │   └── A04999.mat\n│             │   ├── A05\n│             │   │   ├── A05000.hea\n│             │   │   ├── A05000.mat\n│             │   │   ├── A05001.hea\n│             │   │   ├── A05001.mat\n│             │   │   ├── ...\n│             │   │   ├── A05998.hea\n│             │   │   ├── A05998.mat\n│             │   │   ├── A05999.hea\n│             │   │   └── A05999.mat\n│             │   ├── A06\n│             │   │   ├── A06000.hea\n│             │   │   ├── A06000.mat\n│             │   │   ├── A06001.hea\n│             │   │   ├── A06001.mat\n│             │   │   ├── ...\n│             │   │   ├── A06998.hea\n│             │   │   ├── A06998.mat\n│             │   │   ├── A06999.hea\n│             │   │   └── A06999.mat\n│             │   ├── A07\n│             │   │   ├── A07000.hea\n│             │   │   ├── A07000.mat\n│             │   │   ├── A07001.hea\n│             │   │   ├── A07001.mat\n│             │   │   ├── ...\n│             │   │   ├── A07998.hea\n│             │   │   ├── A07998.mat\n│             │   │   ├── A07999.hea\n│             │   │   └── A07999.mat\n│             │   ├── A08\n│             │   │   ├── A08000.hea\n│             │   │   ├── A08000.mat\n│             │   │   ├── A08001.hea\n│             │   │   ├── A08001.mat\n│             │   │   ├── ...\n│             │   │   ├── A08527.hea\n│             │   │   ├── A08527.mat\n│             │   │   ├── A08528.hea\n│             │   │   └── A08528.mat\n│             │   ├── MD5SUMS\n│             │   ├── RECORDS\n│             │   ├── RECORDS-af\n│             │   ├── RECORDS-noisy\n│             │   ├── RECORDS-normal\n│             │   ├── RECORDS-other\n│             │   ├── REFERENCE.csv\n│             │   ├── REFERENCE-v0.csv\n│             │   ├── REFERENCE-v1.csv\n│             │   ├── REFERENCE-v2.csv\n│             │   ├── REFERENCE-v3.csv\n│             │   ├── SHA1SUMS\n│             │   └── SHA256SUMS\n│             └── validation\n│                 ├── A00001.hea\n│                 ├── A00001.mat\n│                 ├── A00002.hea\n│                 ├── A00002.mat\n│                 ├── ...\n│                 ├── A04735.hea\n│                 ├── A04735.mat\n│                 ├── A04805.hea\n│                 ├── A04805.mat\n│                 ├── MD5SUMS\n│                 ├── RECORDS\n│                 ├── RECORDS-af\n│                 ├── RECORDS-noisy\n│                 ├── RECORDS-normal\n│                 ├── RECORDS-other\n│                 ├── REFERENCE.csv\n│                 ├── REFERENCE-v0.csv\n│                 ├── REFERENCE-v1.csv\n│                 ├── REFERENCE-v2.csv\n│                 ├── REFERENCE-v3.csv\n│                 ├── SHA1SUMS\n│                 └── SHA256SUMS\n├── .docs\n│         ├── documentation\n│         │         ├── CONTRIBUTING.md\n│         │         └── RESOURCES.md\n│         ├── img\n│         │         └── HeartbeatLogo.png\n│         └── report\n│             └── img\n│                 ├── confusion_matrix_test.png\n│                 ├── confusion_matrix_train.png\n│                 ├── confusion_matrix_val.png\n│                 ├── roc_curve.png\n│                 └── training.png\n├── environment.yaml\n├── .gitignore\n├── LICENSE\n├── .logs\n│         └── heartbeat.log\n├── main.py\n├── notebook\n│         └── eda.ipynb\n├── README.md\n├── requirements.txt\n├── src\n│         ├── model\n│         │         ├── evaluation.py\n│         │         ├── model.py\n│         │         └── train.py\n│         └── utils\n│             ├── data\n│             │         └── manager.py\n│             ├── log\n│             │         └── manager.py\n│             └── visualization\n│                 └── visualize.py\n\n29 directories, 17707 files\n```\n\n---\n\n### Version Control System\n\n##### Releases\n\n- [v0.1.0](https://github.com/bunyaminergen/Heartbeat/archive/refs/tags/v1.0.0.zip) _.zip_\n- [v0.1.0](https://github.com/bunyaminergen/Heartbeat/archive/refs/tags/v1.0.0.tar.gz) _.tar.gz_\n\n##### Branches\n\n- [main](https://github.com/bunyaminergen/Heartbeat/main/)\n- [develop](https://github.com/bunyaminergen/Heartbeat/main/)\n\n---\n\n### Upcoming\n\n- [ ] **Speech Emotion Recognition:** Develop a model to automatically detect emotions from speech data.\n\n##### Considerations\n\n- [ ] Transform the code structure into a pipeline for better modularity and scalability.\n\n---\n\n### Documentations\n\n- [RESOURCES](.docs/documentation/RESOURCES.md)\n- [CONTRIBUTING](.docs/documentation/CONTRIBUTING.md)\n\n---\n\n### Licence\n\n- [LICENSE](LICENSE)\n\n---\n\n### Links\n\n- [Github](https://github.com/bunyaminergen/Heartbeat)\n- [Website](https://bunyaminergen.com)\n- [Linkedin](https://www.linkedin.com/in/bunyaminergen)\n\n---\n\n### Team\n\n- [Bunyamin Ergen](https://www.linkedin.com/in/bunyaminergen)\n\n---\n\n### Contact\n\n- [Mail](mailto:info@bunyaminergen.com)\n\n---\n\n### Citation\n\n```bibtex\n@software{       Heartbeat,\n  author       = {Bunyamin Ergen},\n  title        = {{Heartbeat}},\n  year         = {2025},\n  month        = {01},\n  url          = {https://github.com/bunyaminergen/Heartbeat},\n  version      = {v0.1.0},\n}\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbunyaminergen%2Fheartbeat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbunyaminergen%2Fheartbeat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbunyaminergen%2Fheartbeat/lists"}