1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶ教師なし学習

Connected

演習

クラスタラベルの抽出

前の演習では、高さ 6 の時点で穀物サンプルの中間的なクラスタリングが 3 クラスタであることを確認しました。ここでは、fcluster() 関数を使ってこの中間クラスタリングのラベルを抽出し、クロス集計でそのラベルと穀物の品種を比較します。

階層クラスタリングはすでに実行済みで、mergings は linkage() 関数の結果です。リスト varieties には各穀物サンプルの品種が入っています。

指示

100 XP
  • 次をインポートします:
    • pandas を pd として。
    • scipy.cluster.hierarchy から fcluster。
  • mergings に対して fcluster() 関数を用いてフラットな階層クラスタリングを実行します。最大高さとして 6 を指定し、キーワード引数 criterion='distance' を設定します。
  • 列名が 'labels' と 'varieties' の 2 列を持つ DataFrame df を作成し、列の値にはそれぞれ labels と varieties を使います。これはすでに用意されています。
  • 各クラスタラベルと各穀物品種が一致する回数を数えるため、df['labels'] と df['varieties'] の間でクロス集計 ct を作成します。