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.
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
- 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
| Category | Tools |
|---|---|
| Programming | Python |
| Federated Learning | Flower (flwr) |
| ML Algorithm | XGBoost |
| Data Handling | Pandas, NumPy |
| Evaluation | Scikit-learn |
| Dataset Format | CSV |
| Environment | Local simulation |
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)
1️. Clone the Repository
git clone https://github.com/randeepraj2003/CardioFed-Network.git
cd CardioFed
2️. Install Dependencies
pip install -r requirements.txt
- 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
-
Server initializes global XGBoost model
-
Clients receive the model
-
Each client:
-
Trains locally on its dataset
-
Sends model updates
-
-
Server aggregates updates
-
Global model improves iteratively
-
Algorithm: XGBoost Classifier
-
Training Style: Decentralized
-
Privacy: Raw data never shared
-
Scalability: Easy to add more clients
-
No central data storage
-
Only model parameters shared
-
Ideal for healthcare & regulated domains
This project demonstrates:
-
Federated Learning principles
-
Privacy-preserving ML
-
Real-world healthcare AI use case
-
Distributed system design
-
Secure aggregation
-
Advanced evaluation metrics
-
Real-time client deployment
-
Deep learning models
-
Visualization dashboard
-
Hospitals collaboration
-
Medical research
-
Privacy-first healthcare AI
-
Distributed machine learning systems