cophenet
コーフェン相関係数
説明
例
examgrades
データ セットを読み込みます。
load examgrades
linkage
関数を使用して階層クラスター ツリーを作成します。average
法と指数が 3
のミンコフスキー距離計量を指定します。
Z = linkage(grades,"average",{"minkowski",3});
pdist
関数を使用して観測値ペア間の距離を計算します。
Y = pdist(grades);
コーフェン相関係数を計算します。
c = cophenet(Z,Y)
c = 0.6308
相関係数が適度に高く、階層的クラスタリング ツリーによって観測値間の距離のある程度適切な表現が得られることを示しています。
3 つの標準一様分布から無作為に生成したデータが含まれている標本データ セットを作成します。
rng(0,"twister"); % For reproducibility X = [gallery("uniformdata",[10 3],12); ... gallery("uniformdata",[10 3],13)+1.2; ... gallery("uniformdata",[10 3],14)+2.5]; c = [ones(10,1);2*(ones(10,1));3*(ones(10,1))]; % Actual classes
データの散布図を作成します。
scatter3(X(:,1),X(:,2),X(:,3),100,c,"filled")
linkage
関数を使用して階層クラスター ツリーを作成します。weighted
法と標準化されたユークリッド距離計量を指定します。
Z = linkage(X,"weighted","seuclidean");
pdist
関数を使用して観測値ペア間の距離を計算し、デンドログラム プロットを表示します。
Y = pdist(X); dendrogram(Z)
コーフェン相関係数とコーフェン距離を返します。
[c,D] = cophenet(Z,Y)
c = 0.8179
D = 1×435
0.8203 0.8203 0.8203 0.4604 0.8203 0.8203 0.7150 0.8203 0.8203 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 3.2866 3.2866 3.2866 3.2866 3.2866 3.2866 3.2866 3.2866 3.2866 3.2866 0.2213 0.7024 0.8203 0.3286 0.7024 0.8203 0.7024 0.4772 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 1.8599 3.2866 3.2866 3.2866
相関係数が高く、デンドログラムによってペアワイズ距離 Y の適切な表現が得られることを示しています。
各クラスター内のオブジェクト間の最大距離を計算する complete
法を使用して 2 つ目の階層クラスター ツリーを作成します。
ZZ = linkage(X,"complete","seuclidean");
観測値ペア間の距離を計算します。コーフェン相関係数とコーフェン距離を返します。
YY = pdist(X); [cc,DD] = cophenet(ZZ,YY)
cc = 0.8202
DD = 1×435
1.2044 1.2044 1.2044 0.4604 1.2044 1.2044 1.2044 1.2044 1.2044 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 5.0417 5.0417 5.0417 5.0417 5.0417 5.0417 5.0417 5.0417 5.0417 5.0417 0.2213 0.8986 1.2044 0.3696 0.8986 0.8595 0.8986 0.5287 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 2.9605 5.0417 5.0417 5.0417
2 つのクラスター ツリーのペアワイズ距離とコーフェン距離の散布図を作成します。
scatter(D,Y) hold on scatter(DD,YY,"x") plot([0,max(Y)],[0,max(Y)],"b:",LineWidth=2); % Plot the 1:1 line xlabel("Cophenetic Distance"); ylabel("Pairwise Distance") legend("Weighted","Complete","1:1 line",Location="northwest") hold off
クラスター ツリーのコーフェン相関係数は同程度ですが、complete
法で作成したツリーのコーフェン距離は対応するペアワイズ距離より体系的に大きくなっています。
入力引数
階層クラスター ツリー。linkage
関数によって返される数値行列として指定します。Z
のサイズは (m – 1) 行 3 列です。ここで、m はクラスター ツリーの作成に使用された観測値の数です。Z
の 3 列目にはリンク距離が格納されます。詳細については、凝集型の階層クラスター ツリーを参照してください。
データ型: single
| double
Z
の作成に使用された距離 (非類似度)。pdist
関数によって返される数値行ベクトルとして指定します。Y
の長さは m*(m – 1)/2 です。ここで、m はクラスター ツリーの作成に使用された観測値の数です。
データ型: single
| double
出力引数
コーフェン相関係数。数値スカラーとして返されます。クラスター ツリーのコーフェン相関は、ツリーから得たコーフェン距離とそのツリーを作成するときに使用された元の距離 (非類似度) との間の線形相関係数です。つまり、コーフェン相関係数は、ツリーが観測値間の非類似度をどれだけ忠実に表しているかの尺度になります。コーフェン相関係数の大きさが 1 に近ければ、精度の高い解であることを示します。この尺度は、さまざまなアルゴリズムを使用して得た別のクラスターの解を比較するときに使用できます。
Z(:,3)
と Y
の間のコーフェン相関係数は次のように定義されます。
ここで
Yij は、
Y
に含まれているオブジェクト i とオブジェクト j の距離です。Zij は、
Z(:,3)
から得られるオブジェクト i とオブジェクト j のコーフェン距離です。y と z はそれぞれ
Y
とZ(:,3)
の平均です。
コーフェン距離。Y
と同じ長さの数値行ベクトルとして返されます。2 つの観測値間のコーフェン距離は、デンドログラムでは 2 つの観測値が最初に結合されたときのリンクの高さで表されます。この高さは、リンクでマージされた 2 つのサブクラスター間の距離です。
バージョン履歴
R2006a より前に導入
参考
cluster
| dendrogram
| inconsistent
| linkage
| pdist
| squareform
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)