IniziaInizia gratis

Varianza spiegata

In questo esercizio creerai degli scree plot che mostrano la proporzione di varianza spiegata al crescere del numero di componenti principali. I dati della PCA vanno preparati per questi grafici, perché in R non esiste una funzione integrata che li generi direttamente dal modello di PCA.

Mentre osservi questi grafici, chiediti se c’è un “gomito” nella quantità di varianza spiegata che potrebbe suggerirti un numero naturale di componenti principali. Se non c’è un gomito evidente, cosa tipica nei dataset reali, pensa ad altri modi in cui potresti decidere quante componenti principali mantenere basandoti sullo scree plot.

Questo esercizio fa parte del corso

Unsupervised Learning in R

Visualizza il corso

Istruzioni dell'esercizio

Le variabili che hai creato prima, wisc.data, diagnosis e wisc.pr, sono ancora disponibili.

  • Calcola la varianza di ciascuna componente principale elevando al quadrato il componente sdev di wisc.pr. Salva il risultato in un oggetto chiamato pr.var.
  • Calcola la varianza spiegata da ciascuna componente principale dividendo per la varianza totale spiegata da tutte le componenti principali. Assegna il risultato a una variabile chiamata pve.
  • Crea un grafico della varianza spiegata per ciascuna componente principale.
  • Usando la funzione cumsum(), crea un grafico della proporzione cumulativa di varianza spiegata.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Set up 1 x 2 plotting grid
par(mfrow = c(1, 2))

# Calculate variability of each component


# Variance explained by each principal component: pve


# Plot variance explained for each principal component
plot(___, xlab = "Principal Component", 
     ylab = "Proportion of Variance Explained", 
     ylim = c(0, 1), type = "b")

# Plot cumulative proportion of variance explained
plot(___, xlab = "Principal Component", 
     ylab = "Cumulative Proportion of Variance Explained", 
     ylim = c(0, 1), type = "b")
Modifica ed esegui il codice