dendrogram​関数の結果から、閾値​以下のグループ数をカ​ウントする方法につい​て

조회 수: 3(최근 30일)
denpika
denpika 2018년 7월 17일
댓글: denpika 2018년 7월 18일
以下のコードを実行すると閾値0.4以下のノードが4色に塗り分けられますが、塗り分けられた色の数(グループの数)をカウントする方法はないでしょうか?
rng('default')
X = rand(20,2);
tree = linkage(X,'average');
dendrogram(tree,0,'ColorThreshold',0.4);

채택된 답변

michio
michio 2018년 7월 17일
かなり不格好ですが・・ラインハンドル H から全ての色を確認し、何種類の色が存在するかをチェックすることでグループ数を確認できます。
rng('default')
X = rand(20,2);
tree = linkage(X,'average');
dendrogram(tree,0,'ColorThreshold',0.4);
[H,T,outperm] = dendrogram(tree,0,'ColorThreshold',0.4);
lineColors = vertcat(H.Color); % Lineオブジェクトの色を行列に結合
uniqueColors = unique(lineColors, 'rows'); % ユニークな色(黒も合わせて出てきます)
size(uniqueColors,1) - 1 % 黒以外の色の数
  댓글 수: 3
denpika
denpika 2018년 7월 18일
解決しました、ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!