In [ ]:
import numpy as np


# Definizione della funzione di whitening
def whitening(X):
    # Calcola la media delle colonne
    mu = X.mean(0)
    # Calcola la matrice di covarianza
    sigma = np.cov(X.T)
    # Calcola gli autovalori e gli autovettori della matrice di covarianza
    evals, evecs = np.linalg.eigh(sigma)
    # Calcola la matrice di trasformazione per il whitening
    w = evecs / np.sqrt(evals)
    # Applica la trasformazione di whitening ai dati
    X = (X - mu) @ w
    return X

whitening_data = whitening(X)
No description has been provided for this image