Trasformazioni delle Caratteristiche Un Tutorial su PCA e LDA

Tutorial su PCA e LDA Trasformazioni delle Caratteristiche

Riduzione della dimensione di un dataset utilizzando metodi come PCA

Foto di Nicole Cagnina su Unsplash

Introduzione

Quando si lavora con dati ad alta dimensione, è comune utilizzare metodi come l’Analisi delle Componenti Principali (PCA) per ridurre la dimensione dei dati. Questo converte i dati in un insieme di caratteristiche diverse (a dimensione inferiore). Questo contrasta con la selezione del sottoinsieme delle caratteristiche che seleziona un sottoinsieme delle caratteristiche originali (vedi [1] per un tutorial sulla selezione delle caratteristiche).

PCA è una trasformazione lineare dei dati in uno spazio di dimensione inferiore. In questo articolo iniziamo spiegando cos’è una trasformazione lineare. Successivamente mostriamo con esempi in Python come funziona PCA. L’articolo si conclude con una descrizione dell’Analisi Discriminante Lineare (LDA), un metodo di trasformazione lineare supervisionato. Il codice Python per i metodi presentati in quel documento è disponibile su GitHub.

Trasformazioni Lineari

Immagina che dopo una vacanza Bill debba a Mary £5 e $15 che devono essere pagati in euro (€). I tassi di cambio sono: £1 = €1.15 e $1 = €0.93. Quindi il debito in € è:

Qui stiamo convertendo un debito in due dimensioni (£,$) in una dimensione (€). Tre esempi di ciò sono illustrati nella Figura 1, il debito originale (£5, $15) e altri due debiti di (£15, $20) e (£20, $35). I punti verdi sono i debiti originali e i punti rossi sono i debiti proiettati in una singola dimensione. La linea rossa rappresenta questa nuova dimensione.

Figura 1. Un'illustrazione di come la conversione dei debiti £,$ in € sia una trasformazione lineare. Immagine dell'autore.

Sulla sinistra nella figura possiamo vedere come questo può essere rappresentato come una moltiplicazione di matrici. Il dataset originale è una matrice 3×2 (3 campioni, 2 caratteristiche), i tassi di cambio formano una matrice 1D di due componenti e l’output è una matrice 1D di 3 componenti. La matrice dei tassi di cambio è la trasformazione; se i tassi di cambio cambiano, la trasformazione cambia.

Possiamo eseguire questa moltiplicazione di matrici in Python utilizzando il codice qui sotto. Le matrici sono rappresentate come array numpy; l’ultima riga chiama il metodo dot sulla matrice cur per eseguire la moltiplicazione di matrici (prodotto scalare). Questo…