Skip to content

Entropy

Running entropy.

Parameters

  • fading_factor

    Default1

    Fading factor.

  • eps

    Default1e-08

    Small value that will be added to the denominator to avoid division by zero.

Attributes

  • entropy (float)

    The running entropy.

  • n (int)

    The current number of observations.

  • counter (collections.Counter)

    Count the number of times the values have occurred

Examples

import math
import random
import numpy as np
from scipy.stats import entropy
from river import stats

def entropy_list(labels, base=None):
    value,counts = np.unique(labels, return_counts=True)
    return entropy(counts, base=base)

SEED = 42 * 1337
random.seed(SEED)

entro = stats.Entropy(fading_factor=1)

list_animal = []
for animal, num_val in zip(['cat', 'dog', 'bird'],[301, 401, 601]):
    list_animal += [animal for i in range(num_val)]
random.shuffle(list_animal)

for animal in list_animal:
    entro.update(animal)

print(f'{entro.get():.6f}')
1.058093
print(f'{entropy_list(list_animal):.6f}')
1.058093

Methods

get

Return the current value of the statistic.

update

Update the called instance.

Parameters

  • x'numbers.Number'