categorical#
- eclypse.policies.distribution.categorical(*, node_assets=None, edge_assets=None, node_distribution=None, edge_distribution=None, node_asset_distributions=None, edge_asset_distributions=None, node_weights=None, edge_weights=None, node_asset_weights=None, edge_asset_weights=None, minimum=0.0, node_ids=None, node_filter=None, edge_ids=None, edge_filter=None)[source]#
Apply multiplicative categorical noise to selected node and edge assets.
- Parameters:
node_assets (str | list[str] | None) – Node assets to perturb.
edge_assets (str | list[str] | None) – Edge assets to perturb.
node_distribution (list[float] | None) – Default node multipliers to sample from. Defaults to
[0.95, 1.0, 1.05].edge_distribution (list[float] | None) – Default edge multipliers to sample from. Defaults to
node_distribution.node_asset_distributions (dict[str, list[float]] | None) – Optional per-node-asset overrides for
node_distribution.edge_asset_distributions (dict[str, list[float]] | None) – Optional per-edge-asset overrides for
edge_distribution.node_weights (list[float] | None) – Optional default weights for
node_distribution.edge_weights (list[float] | None) – Optional default weights for
edge_distribution. Defaults tonode_weights.node_asset_weights (dict[str, list[float]] | None) – Optional per-node-asset weight overrides.
edge_asset_weights (dict[str, list[float]] | None) – Optional per-edge-asset weight overrides.
minimum (float) – Lower clamp applied after perturbation.
node_ids (list[str] | None) – Optional explicit list of node ids to target.
node_filter (NodeFilter | None) – Optional predicate to filter target nodes.
edge_ids (list[tuple[str, str]] | None) – Optional explicit list of target edges.
edge_filter (EdgeFilter | None) – Optional predicate to filter target edges.
- Returns:
- A graph update policy applying categorical multiplicative
noise.
- Return type: