normalize_distribution#
- mlquantify.losses.normalize_distribution(x)[source]#
Normalize an array to a valid probability distribution.
Clips all values to a small positive epsilon to avoid zero-probability entries, then divides by the total sum. If the sum is effectively zero after clipping, a uniform distribution is returned instead.
- Parameters:
- xarray-like of shape (n,)
Input array representing un-normalized prevalences or likelihoods.
- Returns:
- x_normalizedndarray of shape (n,)
Non-negative array that sums to 1.
Examples
>>> from mlquantify.losses._distances import normalize_distribution >>> normalize_distribution([0.1, 0.3, 0.6]) array([0.1, 0.3, 0.6]) >>> normalize_distribution([2, 3, 5]) array([0.2, 0.3, 0.5])