Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XGBoost example update #3242

Merged
merged 10 commits into from
Feb 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion examples/advanced/xgboost/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and install the additional requirements:
```
python3 -m pip install -r requirements.txt
```
Also, follow [encryption plugins instruction](https://github.com/NVIDIA/NVFlare/tree/main/integration/xgboost/encryption_plugins) to setup encryption plugins.

## XGBoost
XGBosot is a machine learning algorithm that uses decision/regression trees to perform classification and regression tasks,
Expand Down Expand Up @@ -51,4 +52,4 @@ collaboration, and histogram-based vertical collaboration.
### [Secure Federated XGBoost with Homomorphic Encryption](./fedxgb_secure/README.md)
This example includes instructions on running secure federated XGBoost with homomorphic encryption under
histogram-based horizontal and vertical collaboration. Note that tree-based collaboration does not have security concerns
that can be handled by encryption.
that can be handled by encryption.
19 changes: 2 additions & 17 deletions examples/advanced/xgboost/fedxgb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,27 +169,12 @@ bagging training boosts a forest consisting of individually trained trees from e

Create the psi job using the predefined psi_csv template:
```
nvflare job create -j ./jobs/vertical_xgb_psi -w psi_csv -sd ./code/psi -force
```

Run the psi job to calculate the dataset intersection of the clients at `psi/intersection.txt` inside the psi workspace:
```
nvflare simulator ./jobs/vertical_xgb_psi -w /tmp/nvflare/vertical_xgb_psi -n 2 -t 2
```

Create the vertical xgboost job using the predefined vertical_xgb template:
```
nvflare job create -j ./jobs/vertical_xgb -w vertical_xgb -sd ./code/vertical_xgb -force
```

Run the vertical xgboost job:
```
nvflare simulator ./jobs/vertical_xgb -w /tmp/nvflare/vertical_xgb -n 2 -t 2
bash run_experiment_vertical.sh
```

Model accuracy can be visualized in tensorboard:
```
tensorboard --logdir /tmp/nvflare/vertical_xgb/server/simulate_job/tb_events
tensorboard --logdir /tmp/nvflare/workspace/works/xgboost_vertical
```

An example validation AUC graph (red) from running vertical XGBoost on HIGGS as compared with baseline centralized (blue):
Expand Down
137 changes: 0 additions & 137 deletions examples/advanced/xgboost/fedxgb/notebooks/data_job_setup.ipynb

This file was deleted.

This file was deleted.

Loading
Loading