A1. Che cos'è la riduzione della dimensionalità: se si pensa ai dati in una matrice, dove le righe sono istanze e le colonne sono attributi (o caratteristiche), la riduzione della dimensionalità sta associando questa matrice di dati a una nuova matrice con meno colonne. Per la visualizzazione, se si considera ciascuna colonna-matrice (attributo) come una dimensione nello spazio delle caratteristiche, la riduzione della dimensionalità è la proiezione di istanze dallo spazio dimensionale superiore (più colonne) a uno spazio secondario dimensionale inferiore (meno colonne).
L'obiettivo tipico di questa trasformazione è (1) preservare le informazioni nella matrice dei dati, riducendo al contempo la complessità computazionale; (2) migliorare la separabilità di diverse classi di dati.
A2. Riduzione della dimensionalità come selezione o estrazione di funzionalità: userò l'onnipresente set di dati Iris , che è probabilmente il "ciao mondo" della scienza dei dati. In breve, il set di dati di Iris ha 3 classi e 4 attributi (colonne). Illustrerò la selezione e l'estrazione delle funzionalità per il compito di ridurre la dimensionalità del set di dati Iris da 4 a 2.
Calcolo la co-varianza in coppia di questo set di dati usando la libreria in Python chiamata seaborn. Il codice è: sns.pairplot (iris, hue = "species", markers = ["o", "s", "D"]) La figura che ottengo è
che posso selezionare la coppia di attributi (2 dimensioni) che forniscono la più grande separazione tra le 3 classi (specie) nel set di dati di Iris. Questo sarebbe un caso di selezione delle funzionalità.
Il prossimo è l'estrazione delle funzionalità. Qui sto proiettando lo spazio delle caratteristiche a 4 dimensioni di Iris su un nuovo sottospazio a 2 dimensioni, che non è asse allineato con lo spazio originale. Questi sono nuovi attributi. Si basano in genere sulla distribuzione nello spazio tridimensionale originale. Il metodo più popolare è l'analisi dei componenti principali, che calcola gli autovettori nello spazio originale.
Ovviamente, non siamo limitati a usare solo una proiezione lineare e globale su un sottospazio basato su autovettori. Possiamo usare anche metodi di proiezione non lineari. Ecco un esempio di PCA non lineare che utilizza reti neurali
Vengono estratti gli attributi (dimensioni) nell'ultimo esempiodai 4 attributi originali usando le reti neurali. Puoi sperimentare tu stesso vari tipi di PCA per il set di dati dell'iride usando questo codice di metodi pca .
Riepilogo: sebbene i metodi di estrazione delle funzionalità possano apparire superiori nelle prestazioni rispetto alla selezione delle funzionalità, la scelta è basata sull'applicazione. Gli attributi dell'estrazione delle caratteristiche in genere perdono l'interpretazione fisica, che può o meno essere un problema in base all'attività da svolgere. Ad esempio, se stai progettando un'attività di raccolta dati molto costosa con sensori costosi e hai bisogno di risparmiare sugli attributi (numero di sensori diversi), vorresti raccogliere un piccolo campione pilota usando tutti i sensori disponibili e quindi selezionare quelli che sono i più informativi per l'attività di raccolta di big data.