Implementation:Online ml River Utils Norm
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Online_Learning, Data_Normalization |
| Last Updated | 2026-02-08 16:00 GMT |
Overview
Dictionary value normalization and scaling utilities.
Description
Provides functions to normalize and scale dictionary values in-place or out-of-place. normalize_values_in_dict divides by a factor (default: sum of values), while scale_values_in_dict multiplies by a constant. Handles edge cases like zero sums gracefully.
Usage
Use for probability normalization, feature scaling, or any scenario requiring proportional adjustment of dictionary values. Essential for softmax implementations and probability distributions.
Code Reference
Source Location
- Repository: Online_ml_River
- File: river/utils/norm.py
Signature
def normalize_values_in_dict(
dictionary,
factor=None,
inplace=True,
raise_error=False
):
...
def scale_values_in_dict(
dictionary,
multiplier,
inplace=True
):
...
Import
from river import utils
Usage Examples
from river import utils
# Normalize to sum = 1
scores = {'A': 3, 'B': 1, 'C': 1}
normed = utils.norm.normalize_values_in_dict(scores, inplace=False)
print(f"Normalized: {normed}") # {'A': 0.6, 'B': 0.2, 'C': 0.2}
print(f"Sum: {sum(normed.values())}") # 1.0
# Scale all values
values = {'x': 2, 'y': 3, 'z': 5}
scaled = utils.norm.scale_values_in_dict(values, multiplier=10, inplace=False)
print(f"Scaled: {scaled}") # {'x': 20, 'y': 30, 'z': 50}
# Custom normalization factor
data = {'a': 10, 'b': 20}
normed2 = utils.norm.normalize_values_in_dict(data, factor=100, inplace=False)
print(f"Custom factor: {normed2}") # {'a': 0.1, 'b': 0.2}
# Handle zero sum gracefully
zeros = {'x': 0, 'y': 0}
result = utils.norm.normalize_values_in_dict(zeros, inplace=False, raise_error=False)
print(f"Zero sum: {result}") # Returns original
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment