Calculator#
- class rizemind.strategies.contribution.calculators.calculator.ContributionCalculator[source]
Bases:
ABCParticipant contribution calculator.
Defines the interface that all contribution calculation algorithms must implement. Contribution calculators assess how much each participant contributed to the overall model performance in federated learning.
- abstractmethod get_scores(*, participant_mapping: ~rizemind.strategies.contribution.shapley.trainer_mapping.ParticipantMapping, store: ~rizemind.strategies.contribution.shapley.trainer_set.TrainerSetAggregateStore, coalition_to_score_fn: ~collections.abc.Callable[[~rizemind.strategies.contribution.shapley.trainer_set.TrainerSetAggregate], float] | None = <function default_coalition_to_score>) dict[ChecksumAddress, PlayerScore][source]
Calculates contribution scores for all participants.
Computes the contribution score for each participant. The specific calculation method depends on the implementing class.
- Parameters:
participant_mapping – Maps participants to their coalition memberships.
store – Contains metrics and losses for all evaluated coalitions.
coalition_to_score_fn – Function to convert a coalition’s aggregate
None (to a numerical score. If)
default_coalition_to_score. (uses)
- Returns:
A dictionary mapping each participant’s address to their PlayerScore.
- class rizemind.strategies.contribution.calculators.calculator.PlayerScore(*, trainer_address: ChecksumAddress, score: float)[source]
Bases:
BaseModelThe contribution score for a single participant.
Represents the calculated contribution value for a participant and their blockchain address.
- trainer_address
The blockchain address of the participant.
- Type:
eth_typing.evm.ChecksumAddress
- score
The calculated contribution score value.
- Type:
float
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- score: float
- trainer_address: ChecksumAddress
- rizemind.strategies.contribution.calculators.calculator.default_coalition_to_score(set: TrainerSetAggregate) float[source]
Returns the loss value of a set as its score.
- Raises:
Exception – if the coalition was not evaluated.