このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
GapEvaluation
ギャップ基準クラスタリング評価オブジェクト
説明
GapEvaluation
は、標本データ (X
)、クラスタリング データ (OptimalY
) およびギャップ基準値 (CriterionValues
) で構成されるオブジェクトであり、最適なクラスター数 (OptimalK
) を評価するために使用されます。ギャップ基準値は差分 ExpectedLogW
– LogW
に対応します。ここで、W はクラスター内の分散で、ExpectedLogW
は参照分布からのモンテカルロ サンプリングによって決定され、LogW
は標本データから計算されます。最適なクラスター数は、許容誤差の範囲内で局所的または大域的なギャップ値が最大になる解に対応します (SearchMethod
)。詳細は、ギャップ値を参照してください。
作成
ギャップ基準クラスタリング評価オブジェクトを作成するには、関数 evalclusters
を使用し、基準を "gap"
と指定します。
その後、compact
を使用して、コンパクトなバージョンのギャップ基準クラスタリング評価オブジェクトを作成できます。この関数は、プロパティ X
、OptimalY
、および Missing
の内容を削除します。
プロパティ
クラスタリング評価のプロパティ
ClusteringFunction
— クラスタリング アルゴリズム
'kmeans'
| 'linkage'
| 'gmdistribution'
| 関数ハンドル
この プロパティ は読み取り専用です。
標本データのクラスタリングに使用されるクラスタリング アルゴリズム。'kmeans'
、'linkage'
、'gmdistribution'
、または関数ハンドルとして返されます。
値 | 説明 |
---|---|
'kmeans' | X のデータを kmeans クラスタリング アルゴリズムを使用してクラスタリングします。EmptyAction は "singleton" 、Replicates は 5 に設定されます。 |
'linkage' | X のデータを clusterdata 凝集型クラスタリング アルゴリズムを使用してクラスタリングします。Linkage は "ward" に設定されます。 |
'gmdistribution' | X のデータを gmdistribution 混合ガウス分布アルゴリズムを使用してクラスタリングします。SharedCov は true 、Replicates は 5 に設定されます。 |
データ型: char
| function_handle
CriterionName
— 基準の名前
'Gap'
この プロパティ は読み取り専用です。
クラスタリングの評価に使用される基準の名前。'Gap'
として返されます。
CriterionValues
— 基準値
数値ベクトル
この プロパティ は読み取り専用です。
基準値。数値ベクトルとして返されます。各値が InspectedK
の推奨されるクラスター数に対応します。
データ型: double
Distance
— 距離計量
'sqEuclidean'
| 'Euclidean'
| 'cityblock'
| 'cosine'
| 'correlation'
| 関数ハンドル
この プロパティ は読み取り専用です。
データのクラスタリングと基準値の計算に使用される距離計量。次の表のいずれかの値または関数ハンドルとして返されます。
値 | 説明 |
---|---|
'sqEuclidean' | 2 乗ユークリッド距離 |
'Euclidean' | ユークリッド距離 |
'cityblock' | 差の絶対値の総和 |
'cosine' | 1 から、ベクトルとして扱われる点の間の夾角の余弦を引いた値 |
'correlation' | 1 から、値の系列として扱われる点の間の標本相関を引いた値 |
データ型: char
| function_handle
InspectedK
— 推奨されるクラスター数のリスト
正の整数ベクトル
この プロパティ は読み取り専用です。
基準値の計算の対象となる推奨されるクラスター数のリスト。正の整数ベクトルとして返されます。
データ型: double
OptimalK
— 最適なクラスター数
正の整数スカラー
この プロパティ は読み取り専用です。
最適なクラスター数。正の整数スカラーとして返されます。
データ型: double
OptimalY
— 最適なクラスタリングの解
正の整数列ベクトル | []
この プロパティ は読み取り専用です。
OptimalK
に対応する最適なクラスタリングの解。正の整数列ベクトルとして返されます。OptimalY
の各行は、X
の対応する観測値 (または行) のクラスター インデックスを表します。クラスタリング評価オブジェクトを作成する際に evalclusters
の入力引数としてクラスタリングの解を指定した場合、またはコンパクトなクラスタリング評価オブジェクトの場合 (compact
を参照)、OptimalY
は空になります。
データ型: double
SearchMethod
— 最適なクラスター数の選択方法
'globalMaxSE'
| 'firstMaxSE'
この プロパティ は読み取り専用です。
最適なクラスター数の選択方法。'globalMaxSE'
または 'firstMaxSE'
として返されます。
値 | 説明 |
---|---|
'globalMaxSE' |
K はクラスター数、Gap(K) は K 個のクラスターに対するクラスタリングの解のギャップ値、GAPMAX は最大ギャップ値、SE(GAPMAX) は最大ギャップ値に対応する標準誤差です。 |
'firstMaxSE' |
K はクラスター数、Gap(K) は K 個のクラスターに対するクラスタリングの解のギャップ値、SE(K + 1) は K + 1 個のクラスターに対するクラスターの解の標準誤差です。 |
標本データのプロパティ
LogW
— クラスター内の分散の自然対数
数値ベクトル
この プロパティ は読み取り専用です。
標本データ X
に基づくクラスター内の分散 W の自然対数。数値ベクトルとして返されます。W は距離計量 Distance
を使用して計算されるクラスター内の分散です。LogW
の各要素は特定の推奨されるクラスター数 (InspectedK
の要素) に対応します。
データ型: double
Missing
— 除外データ
logical 列ベクトル | []
この プロパティ は読み取り専用です。
除外データ。logical 列ベクトルとして返されます。Missing
の要素が true
の場合、データ行列 X
の対応する観測値 (または行) がクラスタリングの解で使用されません。コンパクトなクラスタリング評価オブジェクトの場合 (compact
を参照)、Missing
は空になります。
データ型: double
| logical
NumObservations
— 観測値の数
正の整数スカラー
この プロパティ は読み取り専用です。
データ行列 X
の観測値の数。欠損値 (NaN
) がある観測値は無視されます。正の整数スカラーとして返されます。
データ型: double
X
— クラスタリングに使用されるデータ
数値行列 | []
この プロパティ は読み取り専用です。
クラスタリングに使用されるデータ。数値行列として返されます。行は観測値に対応し、列は変数に対応します。コンパクトなクラスタリング評価オブジェクトの場合 (compact
を参照)、X
は空になります。
データ型: single
| double
参照データのプロパティ
B
— 参照データセットの数
正の整数スカラー
この プロパティ は読み取り専用です。
参照分布 ReferenceDistribution
から生成される参照データ セットの数。正の整数スカラーとして返されます。
データ型: double
ExpectedLogW
— クラスター内の分散の自然対数の期待値
数値ベクトル
この プロパティ は読み取り専用です。
生成された参照データに基づくクラスター内の分散 W の自然対数の期待値。数値ベクトルとして返されます。W は距離計量 Distance
を使用して計算されるクラスター内の分散です。ExpectedLogW
の各要素は特定の推奨されるクラスター数 (InspectedK
の要素) に対応します。
データ型: double
ReferenceDistribution
— 参照データの生成方法
'PCA'
| 'uniform'
この プロパティ は読み取り専用です。
参照データの生成方法。'PCA'
または 'uniform'
として返されます。
値 | 説明 |
---|---|
'PCA' | データ行列 X の主成分に合わせて整列されたボックスにおける一様分布から参照データを生成します。 |
'uniform' | データ行列 X の各特徴の範囲で均一に参照データを生成します。 |
SE
— クラスター内の分散の自然対数の標準誤差
数値ベクトル
この プロパティ は読み取り専用です。
参照データに対するクラスター内の分散 W の自然対数の標準誤差。数値ベクトルとして返されます。W は距離計量 Distance
を使用して計算されるクラスター内の分散です。SE
の各要素は特定の推奨されるクラスター数 (InspectedK
の要素) に対応します。
データ型: double
StdLogW
— クラスター内の分散の自然対数の標準偏差
数値ベクトル
この プロパティ は読み取り専用です。
参照データに対するクラスター内の分散 W の自然対数の標準偏差。数値ベクトルとして返されます。W は距離計量 Distance
を使用して計算されるクラスター内の分散です。StdLogW
の各要素は特定の推奨されるクラスター数 (InspectedK
の要素) に対応します。
データ型: double
例
ギャップ基準によるクラスタリングの解の評価
ギャップ クラスタリング評価基準を使用して最適なクラスター数を評価します。
fisheriris
データセットを読み込みます。このデータには、3 種のアヤメの花のがく片と花弁からの長さと幅の測定値が含まれています。
load fisheriris
ギャップ基準値に基づいて最適なクラスター数を評価します。データのクラスタリングには kmeans
を使用します。
rng("default") % For reproducibility evaluation = evalclusters(meas,"kmeans","gap","KList",1:6)
evaluation = GapEvaluation with properties: NumObservations: 150 InspectedK: [1 2 3 4 5 6] CriterionValues: [0.0720 0.5928 0.8762 1.0114 1.0534 1.0720] OptimalK: 5
OptimalK
の値は、ギャップ基準に基づく最適なクラスター数が 5 であることを示しています。
検定した各クラスター数について、ギャップ基準値をプロットします。
plot(evaluation)
このプロットでは、クラスター数が 6 の場合にギャップ基準の値が最大になっています。しかし、クラスター数 5 に対する値は最大から 1 標準偏差以内にあるので、推奨される最適なクラスター数は 5 です。
グループ化した散布図を作成して花弁の長さと幅の関係を調べます。データは推奨されるクラスターごとにグループ化します。
PetalLength = meas(:,3);
PetalWidth = meas(:,4);
clusters = evaluation.OptimalY;
gscatter(PetalLength,PetalWidth,clusters,[],"xod^*");
このプロットは、左下のクラスター 4 が他の 4 つのクラスターから完全に分離されていることを示しています。クラスター 4 には花弁の幅と長さが最も小さい花が含まれています。クラスター 2 は右上にあり、花弁の幅と長さが最も大きい花が含まれています。クラスター 5 はクラスター 2 の横にあり、クラスター 2 の花と比較して花弁の幅は同様であるが長さは短い花が含まれています。クラスター 1 および 3 はプロットの中央付近にあり、測定値が極端な値ではない花が含まれています。
詳細
ギャップ値
クラスタリング評価を行うための一般的でグラフィカルな方法は、複数の推定されるクラスター数を比較する誤差測定をプロットし、そのプロットの「屈曲点」を特定します。「屈曲点」とは誤差測定において最も大きく低下する部分です。ギャップ基準は、ギャップ値が最大になるクラスター数を「屈曲点」と推定することによってこの方法を形式化する手法です。したがって、ギャップ基準では、最適なクラスター数は、許容誤差の範囲内で局所的または大域的なギャップ値が最大になる解に対応します。
ギャップ値は次のように定義されます。
ここで、n は標本サイズ、k は評価対象のクラスターの個数、Wk は次の式で表されるプールされたクラスター内分散測定値です。
ここで、nr はクラスター r に含まれているデータ点の個数、Dr はクラスター r に含まれているすべての点のペアワイズ距離の合計です。
期待値 は参照分布からのモンテカルロ サンプリングによって決定され、log(Wk)
は標本データから計算されます。
ギャップ値はクラスターが 1 つしかないクラスタリングの解でも定義され、任意の距離計量で使用できます。ただし、ギャップ基準を使用すると、クラスタリング アルゴリズムは推奨されるクラスタリングの解ごとに参照データを適用しなければならないため、他のクラスタリング評価基準よりも計算に時間がかかります。
参照
[1] Tibshirani, R., G. Walther, and T. Hastie. “Estimating the number of clusters in a data set via the gap statistic.” Journal of the Royal Statistical Society: Series B. Vol. 63, Part 2, 2001, pp. 411–423.
バージョン履歴
R2013b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)