キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
DataRobot コミュニティ

教師なし学習クラスタリングのクラスターの割り当てについて

Takeshi_Otsubo
青色LED

教師なし学習クラスタリングのクラスターの割り当てについて

教師なし学習クラスタリングを実施後、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において同程度の数値が出ているサンプルが、このモデルにおいてどのクラスターに分類されたのかが明確に分からないです。

トレーニングデータのサンプル毎のクラスター分けの結果を確認するにはどうしたら良いでしょうか?

ご回答よろしくお願いします。

0 件の賞賛
2件の返信2
Hiroki Hamagami
データサイエンティスト
データサイエンティスト

@Takeshi_Otsubo 

ご質問ありがとうございます。

 

教師なし学習クラスタリングで、各サンプルに対して割り当てられたクラスタを取得する方法に関するご質問ですね。

 

トレーニングデータに対する割り当て結果を取得するためには、ご質問の中で記載いただいた通り、「予測を作成」から「トレーニングデータ」に対して「予測を計算」を実行ください。

 

割り当てられたクラスタを取得するには、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))
ありがとうございました。