クラスタリング解析:最適なクラスタ数の選択

Pythonで学ぶMachine Learning面接対策

Lisa Stuart

Data Scientist

最適なkの手法

  • シルエット法
  • エルボー法
Pythonで学ぶMachine Learning面接対策

シルエット係数

  • 2つのスコアで構成
    • 各観測値と他の観測値の平均距離:
      • 同一クラスタ内
      • 最も近い別クラスタ内
Pythonで学ぶMachine Learning面接対策

シルエット係数の解釈

  • 値域は-1〜1
    • 1
      • 同一クラスタ内で近い
      • 他クラスタとは大きく離れる
    • -1
      • 同一クラスタ内で近くない
      • 他クラスタに近い
    • 0
      • クラスタが重なっていることを示す
Pythonで学ぶMachine Learning面接対策

シルエットスコア

シルエットスコアのプロット

1 https://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html
Pythonで学ぶMachine Learning面接対策

エルボー法

エルボー法のプロット

1 https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/
Pythonで学ぶMachine Learning面接対策

最適なk選択のための関数

関数/メソッド 返り値
sklearn.cluster.KMeans K-Means クラスタリング手法
sklearn.metrics.silhouette_score -1〜1のスコア(クラスタの安定性の指標)
kmeans.inertia_ 各観測値から最近傍クラスタ中心までのSS距離
range(start, stop) startからstop未満までの値のリスト
list.append(kmeans.inertia_) リストにinertia値を追加
Pythonで学ぶMachine Learning面接対策

Let's practice!

Pythonで学ぶMachine Learning面接対策

Preparing Video For Download...