Skip to content

randeepraj2003/CardioFed-Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Federated Cardiovascular Insight Network

A privacy-preserving federated learning system for cardiovascular risk prediction using XGBoost and Flower (FL framework).

This project demonstrates how multiple healthcare data silos can collaboratively train a machine learning model without sharing raw patient data.

Problem Statement

Healthcare institutions often store sensitive cardiovascular patient data in isolated systems.

Centralizing this data for machine learning introduces privacy, security, and regulatory risks.

CardioFed addresses this challenge by:

  • Training models locally on hospital datasets
  • Sharing only model updates, not raw data
  • Aggregating knowledge using Federated Learning

Key Objectives

  • Enable collaborative cardiovascular disease prediction
  • Preserve patient data privacy
  • Implement federated learning using Flower
  • Use XGBoost for robust medical classification
  • Simulate multi-client healthcare environments

Tech Stack

Category Tools
Programming Python
Federated Learning Flower (flwr)
ML Algorithm XGBoost
Data Handling Pandas, NumPy
Evaluation Scikit-learn
Dataset Format CSV
Environment Local simulation

Dataset Description

Each dataset represents data from a different hospital/client.

Features typically include:

  • Age
  • Blood Pressure
  • Cholesterol
  • Heart Rate
  • Other cardiovascular indicators

Target:

  • Cardiovascular disease risk (Binary / Classification)

Installation & Setup

1️. Clone the Repository

git clone https://github.com/randeepraj2003/CardioFed-Network.git

cd CardioFed

2️. Install Dependencies

pip install -r requirements.txt

  1. Running the Federated System

Start the Federated Server

python server.py

Start Federated Clients (in separate terminals)

Client 1

python client.py --partition-id=0 --dataset=./Datasets/data1.csv

Client 2

python client.py --partition-id=1 --dataset=./Datasets/data2.csv

Client 3

python client.py --partition-id=2 --dataset=./Datasets/data3.csv

Client 4

python client.py --partition-id=3 --dataset=./Datasets/data4.csv


Federated Learning Workflow

  1. Server initializes global XGBoost model

  2. Clients receive the model

  3. Each client:

    • Trains locally on its dataset

    • Sends model updates

  4. Server aggregates updates

  5. Global model improves iteratively


Model Highlights

  • Algorithm: XGBoost Classifier

  • Training Style: Decentralized

  • Privacy: Raw data never shared

  • Scalability: Easy to add more clients

Privacy & Security

  • No central data storage

  • Only model parameters shared

  • Ideal for healthcare & regulated domains


Academic Relevance

This project demonstrates:

  • Federated Learning principles

  • Privacy-preserving ML

  • Real-world healthcare AI use case

  • Distributed system design

Future Enhancements

  • Secure aggregation

  • Advanced evaluation metrics

  • Real-time client deployment

  • Deep learning models

  • Visualization dashboard

Use Cases

  • Hospitals collaboration

  • Medical research

  • Privacy-first healthcare AI

  • Distributed machine learning systems

About

Federated machine learning approach for heart disease prediction with privacy-preserving data collaboration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages