ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。このページの最新版は英語でご覧になれます。

silhouette

シルエット プロット

構文

silhouette(X,clust)
s = silhouette(X,clust)
[s,h] = silhouette(X,clust)
[...] = silhouette(X,clust,metric)
[...] = silhouette(X,clust,distfun,p1,p2,...)

説明

silhouette(X,clust)は、np列のデータ行列Xclustで定義されるクラスターについて、クラスター シルエットをプロットします。Xの行は点に対応し、列は座標値に対応します。clustは各点のクラスター名を含む、カテゴリカル変数、数値ベクトル、文字行列、文字列のセル配列、のいずれかです。silhouetteclustNaNまたは空の文字列を欠損値として認識し、Xの対応する行を無視します。既定の設定では、silhouetteXの点間の 2 乗ユークリッド距離を使用します。

s = silhouette(X,clust)は、シルエット値をn行 1 列のベクトルsに返しますが、クラスター シルエットはプロットしません。

[s,h] = silhouette(X,clust)は、シルエットをプロットし、n行 1 列のベクトルsにシルエット値を、hに図のハンドルを返します。

[...] = silhouette(X,clust,metric)は、metricで指定した点間距離の関数を使用して、シルエットをプロットします。選択可能なmetricを、次の表に示します。

計量 説明
'Euclidean'

ユークリッド距離

'sqEuclidean'

2 乗ユークリッド距離 (既定の設定)

'cityblock'

差の絶対値の総和

'cosine'

1 から、ベクトルとして扱われる点の間の夾角の余弦を引いた値

'correlation'

1 から、値の系列として扱われる点の間の標本相関を引いた値

'Hamming'

一致しない座標の割合

'Jaccard'

ゼロ以外の一致しない座標の割合

ベクトル

pdist で作成されるような、上三角ベクトル形式の数値距離行列。この場合 X は使用せず、[]に設定しても安全です。

距離の詳細は、「距離計量」を参照してください。

[...] = silhouette(X,clust,distfun,p1,p2,...)は、次の形式の距離に対する関数ハンドルdistfunを受け取ります。

d = distfun(X0,X,p1,p2,...)

ここで、X01p列の点、Xnp列の点の行列、p1,p2,...はオプションで追加する引数です。関数distfunX0X(行) の各点間の距離の、n1列のベクトルdを返します。引数p1p2...は関数distfunに直接渡されます。

すべて折りたたむ

シルエット プロットの作成

クラスタリングしたデータからシルエット プロットを作成します。

無作為標本データを生成します。

rng('default');% For reproducibilityX = [randn(10,2)+ones(10,2);randn(10,2)-ones(10,2)];

kmeansを使用してX内のデータをクラスタリングします。

cidx = kmeans(X,2);

クラスタリングしたデータからシルエット プロットを作成します。

silhouette(X,cidx)

シルエット値の計算

クラスタリングしたデータからシルエット値を計算します。

無作為標本データを生成します。

rng('default');% For reproducibilityX = [randn(10,2)+ones(10,2);randn(10,2)-ones(10,2)];

kmeansを使用して、距離の差の絶対値の総和に基づいてXのデータをクラスタリングします。

cidx = kmeans(X,2,'distance','cityblock');

クラスタリングしたデータからシルエット値を計算します。metric'cityblock'として指定し、kmeansクラスタリングが差の絶対値の総和に基づいていることを示します。

s = silhouette(X,cidx,'cityblock')
s = 0.0816 0.5848 0.1906 0.2781 0.3954 0.4050 0.0897 0.5416 0.6203 0.6664 0.5814 0.6022 0.6540 0.5223 0.5566 0.4227 0.6225 0.6558 0.5284 0.6034

詳細

すべて折りたたむ

シルエット値

各点のシルエット値は、他のクラスターの点と比べて、その点が自身のクラスター内の他の点にどれくらい相似しているかを示す尺度です。i番目の点のシルエット値Siは、次のように定義されます。

Si = (bi-ai)/ max(ai,bi)

ここでaii番目の点からiと同じクラスターの他の点までの平均距離で、bii番目の点から別のクラスターの点までの最小平均距離です。

-1 ~ +1 のシルエット値の範囲。高いシルエット値は、iが自身のクラスターに適切に一致し、近隣のクラスターにはあまり一致しないことを示しています。ほとんどの点のシルエット値が高い場合、クラスタリング ソリューションは適切です。シルエット値が低いまたは負の値である点が多い場合、クラスタリング ソリューションに含まれるクラスターの数が多すぎるか、少なすぎるかどちらかの可能性があります。シルエット クラスタリング評価基準は、どの距離計量でも使用できます。

参照

考夫曼L。[1],p . j . Rousseeuw。发现Groups in Data: An Introduction to Cluster Analysis. Hoboken, NJ: John Wiley & Sons, Inc., 1990.

R2006a より前に導入

この情報は役に立ちましたか?