Dominante kleuren weergeven
We hebben de volgende afbeelding geladen met de functie imread() van de image-klasse van matplotlib.

Om de dominante kleuren weer te geven, zet je de kleuren van de clustercentra om naar hun ruwe waarden en vervolgens naar het bereik 0-1 met de volgende formule:
converted_pixel = standardized_pixel * pixel_std / 255
De RGB-waarden staan in een DataFrame, batman_df. De geschaalde RGB-waarden staan in de kolommen scaled_red, scaled_blue en scaled_green. De clustercentra staan in de variabele cluster_centers, die zijn gemaakt met de functie kmeans() met drie clusters.
Deze oefening maakt deel uit van de cursus
Clusteranalyse in Python
Oefeninstructies
- Haal de standaarddeviaties van elke kleur uit het DataFrame en sla ze op in
r_std,g_std,b_std. - Zet voor elk clustercentrum de gestandaardiseerde RGB-waarden om naar geschaalde waarden in het bereik 0-1.
- Geef de kleuren van de clustercentra weer.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Get standard deviations of each color
____, ____, ____ = batman_df[['red', 'green', 'blue']].___()
for cluster_center in cluster_centers:
scaled_r, scaled_g, scaled_b = cluster_center
# Convert each standardized value to scaled value
colors.append((
scaled_r * ____ / ____,
scaled_g * ____ / ____,
scaled_b * ____ / ____
))
# Display colors of cluster centers
plt.____(____)
plt.show()