支配的な色を表示する
matplotlib の image クラスの imread() 関数を使って、次の画像を読み込み済みです。

支配的な色を表示するには、クラスタ中心の色を生の値に戻し、その後次の式を使って 0〜1 の範囲に変換します。
converted_pixel = standardized_pixel * pixel_std / 255
RGB 値は DataFrame batman_df に格納されています。スケーリング後の RGB 値は scaled_red、scaled_blue、scaled_green の各列に入っています。クラスタ中心は変数 cluster_centers に保存されており、kmeans() 関数でクラスタ数 3 として算出しています。
この演習はコースの一部です
Pythonで学ぶクラスタ分析
演習の手順
- DataFrame から各色の標準偏差を取得し、
r_std、g_std、b_stdに格納します。 - 各クラスタ中心について、標準化済みの RGB 値を 0〜1 の範囲のスケール値に変換します。
- クラスタ中心の色を表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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()