1. Learn
  2. /
  3. Courses
  4. /
  5. Pythonで学ぶ教師なし学習

Connected

Exercise

穀粒クラスタリングの評価

前の演習では、慣性(inertia)のプロットから、この穀粒データに対してはクラスタ数を3にするのが良さそうだと分かりました。実際、この穀粒サンプルは「Kama」「Rosa」「Canadian」という3種類の品種が混ざっています。本演習では、穀粒サンプルを3つのクラスタに分け、クロス集計を使ってクラスタと品種を比較します。

穀粒サンプルを格納した配列 samples と、各サンプルの品種を示すリスト varieties が用意されています。Pandas(pd)と KMeans はすでにインポート済みです。

Instructions

100 XP
  • クラスタ数が 3 の KMeans モデル model を作成します。
  • model の .fit_predict() メソッドを使って samples に当てはめ、クラスタラベルを得ます。.fit_predict() は、.fit() の後に .predict() を呼ぶのと同じです。
  • 2列 'labels' と 'varieties' を持つ DataFrame df を作成し、列の値としてそれぞれ labels と varieties を使います。これはすでに用意されています。
  • pd.crosstab() を df['labels'] と df['varieties'] に対して使い、各クラスタラベルと各穀粒品種の一致回数を数えます。結果を ct に代入します。
  • 提出してクロス集計を確認しましょう!