Table of Contents

Class ClientSelectionOptions

Namespace
AiDotNet.Models.Options
Assembly
AiDotNet.dll

Configuration options for client selection in federated learning.

public class ClientSelectionOptions
Inheritance
ClientSelectionOptions
Inherited Members

Remarks

For Beginners: Client selection controls which devices/organizations participate in each round. In real deployments, many clients may be offline or slow, so selecting a subset per round is common.

Properties

AvailabilityThreshold

Gets or sets the minimum availability probability required for a client to be considered available.

public double AvailabilityThreshold { get; set; }

Property Value

double

ClientAvailabilityProbabilities

Gets or sets an optional mapping from client ID to an availability probability (0.0 to 1.0).

public Dictionary<int, double>? ClientAvailabilityProbabilities { get; set; }

Property Value

Dictionary<int, double>

Remarks

For Beginners: Availability-aware selection prefers clients that are more likely to be online.

ClientGroupKeys

Gets or sets an optional mapping from client ID to a group key for stratified sampling.

public Dictionary<int, string>? ClientGroupKeys { get; set; }

Property Value

Dictionary<int, string>

ClusterCount

Gets or sets the number of clusters to use for cluster-based sampling.

public int ClusterCount { get; set; }

Property Value

int

ExplorationRate

Gets or sets the exploration probability for performance-aware sampling (0.0 to 1.0).

public double ExplorationRate { get; set; }

Property Value

double

Remarks

For Beginners: A value of 0.1 means "10% of the time, pick random clients to explore; 90% of the time, pick the best-known clients."

KMeansIterations

Gets or sets the number of k-means iterations for cluster-based sampling.

public int KMeansIterations { get; set; }

Property Value

int

Strategy

Gets or sets the selection strategy.

public FederatedClientSelectionStrategy Strategy { get; set; }

Property Value

FederatedClientSelectionStrategy

Remarks

For Beginners: This selects the "rule" used to choose clients each round.