#67 Section 22 クラスタリング(3)モデルの作成
このSectionでは、『クラスタリング』のcreate_model関数を体験していきます。
1.create model関数の実行
チュートリアルの『Create Model』の項の最初は、create_model関数を使っています。
回帰では、前処理を行うsetup関数の次は、『compare_models()』行い、『create model関数』は、モデルの呼び出しと確認に使う程度でした。クラスタリングでのcreate model関数は、次のような機能を持っています。
① 指定したモデル名に基づいて、モデルを訓練
② 学習データの各行がどのクラスターに属しているか(Cluster ID)をラベルにして付与
③ 各評価指標による評価
上記のコードでは、代表的なモデル「K-means法」を指定して、①~③を実行しています。
出力は、下記スライドのように、③となります。
2.create model関数の出力
create model関数の出力は、各評価指標による評価となります。
主な各評価指標は、『Silhouette(シルエット係数)』、『Calinski-Harabasz』、『Davies-Bouldin』があります。
Silhouette(シルエット係数):1に近く、大きいほど良い
Calinski-Harabasz:大きいほど良い
Davies-Bouldin:0に近く、小さいほど良い
なお、なお、残りの右3つの評価指標『Homogeneity(均質性)』、 『Rand Index(ランド指数)』 、『Completeness(完全性)』は、 「外部評価指標」と呼ばれ、「正解(真のラベル)」が分かっている時に使うものです。
『正解(真のラベル)』を与えていない、あるいはデータセットに正解となる列が含まれていない状態の場合、すなわち、今回のような場合、これらの指標は計算できず「0」と表示されます。
【参考】 評価指標を使ったクラスタリングのブラッシュアップ
シルエット係数をグラフ化したところ、クラスター数がデフォルトの4つでいいのかと感じました。
そこで、エルボー法を用いて最適なクラスター数が3であることを確認し、クラスター数を3にしたkmeansの評価指標を算出してみました。
このように、評価指標を確認しながら、ブラッシュアップしていくことはとても重要なことです。詳細は、下記のスライドを参照してください。
3.モデルのリストアップ
PyCaretのクラスタリングのモデル(アルゴリズム)の一覧は、下記のコードで確認できます。
models()
出力には、コードを書く際に使う『ID』とクラスタリングの名称『Name』が出てきます。
【参考】 モデルの分類
出力されたクラスタリングのアルゴリズム(PyCaretではモデルと呼んでいます)は、下記のスライドのように分類されます。
【参考】 モデルの詳細
モデルの詳細は、下記のリンクを参照してください。
K-Means Clustering
Affinity Propagation
Mean Shift Clustering
Spectral Clustering
Agglomerative Clustering
Density-Based Spatial Clustering(DBSCAN)
OPTICS Clustering
Birch Clustering
K-Modes Clustering
コメント
コメントを投稿