This example demonstrates privately training an XGBoost model against vertically
partitioned data, where each party has their own subset of features.  This data
is logically treated as a single "virtual record" based on a matching column.
Throughout the process the raw data is never exchanged between the training
parties.

In the second step, inferences are made against similarly partitioned datasets
using the resulting XGBoost model.
