mc2-project / mc2-project/secure-xgboost
Support for secure join of data and train/test targets
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 108
- Forks
- 31
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
the SMPC demo shows two clients joining to train a model, where both clients have identical train set format. Roughly speaking, client1 has one half of training set lines, and client2 has another half.
What about a scenario where client1 has data, and client2 has targets, and they would like to train a model? We assume that both data sets have a common id column to join data and targets securely, before proceeding to the training.
From inspecting the code I made a conclusion that this scenario is not supported, am I correct?
Do you plan to add this routine (secure join) anytime soon?
If you do not have in plans implementing it, is it hard to add this routine myself / outside of this project - if so, could you please give a couple of hints how you yourself would proceed to implementing it?
P.S. Do not want to start a holywar, but the scenario with joining data and targets seems to be much more common and rewarding, compared to the scenario where two parties already have both data and targets each, but simply want to improve the quality by increasing the train set size.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the SMPC multiclient distributed training demo linked in the issue and inspect the secure-xgboost code paths it exercises. Determine how two parties' common ID columns could be joined securely before training, then define completion as successful training when one client supplies data and the other supplies targets without exposing either set.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- machine-learning, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100