Je suppose que c'est une sorte de moyenne mobile, mais la plage valide est comprise entre 0 et 1.
Il est appelé moyenne mobile exponentielle , ci-dessous est une explication du code comment il est créé.
En supposant que toutes les valeurs scalaires réelles sont dans une liste appelée scalars
, le lissage est appliqué comme suit:
def smooth(scalars: List[float], weight: float) -> List[float]: # Weight between 0 and 1
last = scalars[0] # First value in the plot (first timestep)
smoothed = list()
for point in scalars:
smoothed_val = last * weight + (1 - weight) * point # Calculate smoothed value
smoothed.append(smoothed_val) # Save it
last = smoothed_val # Anchor the last smoothed value
return smoothed