API
Primary Imports¶
from distributed_random_forest import (
RandomForest,
DPRandomForest,
ClientRF,
DPClientRF,
FederatedAggregator,
FederatedRandomForest,
create_partitions,
)
Local Training¶
RandomForest¶
Train a local forest with simple or weighted voting.
DPRandomForest¶
Train a local forest with built-in differential privacy noise at the tree level.
Federated Training¶
ClientRF and DPClientRF¶
Client-scoped wrappers that store:
- training metrics
- validation metrics
- class distributions
- sample counts
FederatedAggregator¶
Use this when you want direct control over tree selection:
aggregator = FederatedAggregator(
strategy="top_k_global_balanced_accuracy",
n_total_trees=24,
)
FederatedRandomForest¶
Use this when you want an end-to-end workflow with partitioning, parallel client training, strategy evaluation, and JSON reports.
Utilities¶
Partitioning¶
create_partitionspartition_uniform_randompartition_stratifiedpartition_dirichletpartition_label_skewpartition_by_featurepartition_random_with_sizes
Metrics¶
compute_accuracycompute_weighted_accuracycompute_balanced_accuracycompute_f1_scoreevaluate_predictions
Aggregation Constants¶
AVAILABLE_STRATEGIESAggregationSummary