教師なし学習クラスタリングを実施後、K-Means Clusteringなどのモデルのクラスターインサイトにてクラスターのサイズを見ると、Cluster 1 ○○%、Cluster 2 ○○%、、、と合計100%になるように全てのサンプルにクラスターが割り振られていると思います。
質問としては、こちらの各サンプルに割り振られたクラスター番号をダイレクトに確認する方法はありますか?
例えば、以下の様に
Sample1 Cluster 2
Sample2 Cluster 4
Sample3 Cluster 5
Sample4 Cluster 1 .......
何とか確認する方法はないかと思い、同一モデルの「予測を作成」からトレーニングデータを予測させてみましたが、計算されたテーブルでは各サンプルに対してCluster 1: 0.9678、Cluster 2: 0.001323.....など、確率しか示されておらず明確なクラスター番号は振り分けられておらず、複数のclusterにおいて同程度の数値が出ているサンプルが、このモデルにおいてどのクラスターに分類されたのかが明確に分からないです。
トレーニングデータのサンプル毎のクラスター分けの結果を確認するにはどうしたら良いでしょうか?
ご回答よろしくお願いします。
解決済! 解決策の投稿を見る。
ご質問ありがとうございます。
教師なし学習クラスタリングで、各サンプルに対して割り当てられたクラスタを取得する方法に関するご質問ですね。
トレーニングデータに対する割り当て結果を取得するためには、ご質問の中で記載いただいた通り、「予測を作成」から「トレーニングデータ」に対して「予測を計算」を実行ください。
割り当てられたクラスタを取得するには、Excelの場合、以下の計算式を参考にして、取得いただければと思います。
=IF(AND(C2>=D2, C2>=E2), "Cluster 1", IF(AND(D2>=C2, D2>=E2), "Cluster 2", "Cluster 3"))
※Cluster1, 2, 3の中から最も数値が大きいClusterを取得します
よろしくお願いします。
@Hiroki Hamagami
早々にご回答いただきありがとうございました。
クラスターの割り当て方としては、「予測を作成」で吐き出されたPredictionスコアを用いて、サンプル毎に全Clusterの中で最も大きなスコアが付けられたクラスター番号を割り当てると理解しました。
より多くのクラスターが存在する場合、エクセルだとの以下の様にINDEX、MATCH、MAXを使うと良さそうですね。
=INDEX({"Cluster 1", "Cluster 2", "Cluster 3", "Cluster 4", "Cluster 5", "Cluster 6", "Cluster 7", "Cluster 8", "Cluster 9", "Cluster 10"}, MATCH(MAX(C2:K2), C2:K2, 0))
ありがとうございました。