Aan de slagGa gratis aan de slag

De eerste hoofcomponent

De eerste hoofcomponent van de data is de richting waarin de data het meest varieert. In deze oefening ga je PCA gebruiken om de eerste hoofcomponent te vinden van de lengte- en breedtemetingen van de graanmonsters, en die weer te geven als een pijl in de scatterplot.

De array grains bevat de lengte en breedte van de graanmonsters. PyPlot (plt) en PCA zijn alvast voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Unsupervised Learning in Python

Cursus bekijken

Oefeninstructies

  • Maak een scatterplot van de graanmetingen. Dit is al voor je gedaan.
  • Maak een PCA-instantie met de naam model.
  • Fit het model op de grains-gegevens.
  • Haal de coördinaten van het gemiddelde van de data op via het attribuut .mean_ van model.
  • Haal de eerste hoofcomponent van model op met het attribuut .components_[0,:].
  • Teken de eerste hoofcomponent als een pijl in de scatterplot met de functie plt.arrow(). Je moet de eerste twee argumenten opgeven: mean[0] en mean[1].

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren