La prima componente principale
La prima componente principale dei dati è la direzione lungo la quale i dati variano di più. In questo esercizio, il tuo compito è usare la PCA per trovare la prima componente principale delle misure di lunghezza e larghezza dei campioni di grano e rappresentarla come una freccia sul grafico a dispersione.
L'array grains contiene la lunghezza e la larghezza dei campioni di grano. PyPlot (plt) e PCA sono già stati importati per te.
Questo esercizio fa parte del corso
Apprendimento non supervisionato in Python
Istruzioni dell'esercizio
- Crea un grafico a dispersione delle misure del grano. Questo è già stato fatto per te.
- Crea un'istanza di
PCAchiamatamodel. - Adatta il modello ai dati
grains. - Estrai le coordinate della media dei dati usando l'attributo
.mean_dimodel. - Ottieni la prima componente principale di
modelusando l'attributo.components_[0,:]. - Traccia la prima componente principale come una freccia sul grafico a dispersione, usando la funzione
plt.arrow(). Devi specificare i primi due argomenti:mean[0]emean[1].
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Make a scatter plot of the untransformed points
plt.scatter(grains[:,0], grains[:,1])
# Create a PCA instance: model
model = ____
# Fit model to points
____
# Get the mean of the grain samples: mean
mean = ____
# Get the first principal component: first_pc
first_pc = ____
# Plot first_pc as an arrow, starting at mean
plt.arrow(____, ____, first_pc[0], first_pc[1], color='red', width=0.01)
# Keep axes on same scale
plt.axis('equal')
plt.show()