ドキュメンテーション

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

CalinskiHarabaszEvaluation

パッケージ: clustering.evaluation
スーパークラス: clustering.evaluation.ClusterCriterion

Calinski-Harabasz 基準クラスタリング評価オブジェクト

説明

CalinskiHarabaszEvaluation は、最適なクラスター数を評価するために使用される標本データ、クラスタリング データおよび Calinski-Harabasz 基準値で構成されるオブジェクトです。evalclusters を使用して、Calinski-Harabasz 基準クラスタリング評価オブジェクトを作成します。

構築

eva = evalclusters(x,clust,'CalinskiHarabasz') は、Calinski-Harabasz 基準クラスタリング評価オブジェクトを作成します。

eva = evalclusters(x,clust,'CalinskiHarabasz',Name,Value) は、1 つまたは複数の名前と値のペアの引数で指定された追加オプションを使用して、Calinski-Harabasz 基準クラスタリング評価オブジェクトを作成します。

入力引数

すべて展開する

N 行 P 列の行列として指定される入力データ。N は観測値の数、P は変数の数です。

データ型: single | double

クラスタリング アルゴリズム。次のいずれかとして指定します。

'kmeans'x のデータを kmeans クラスタリング アルゴリズムを使用してクラスタリングします。'EmptyAction''singleton''Replicates'5 に設定されます。
'linkage'x のデータを clusterdata 凝集型クラスタリング アルゴリズムを使用してクラスタリングします。'Linkage''ward' に設定されます。
'gmdistribution'x のデータを gmdistribution 混合ガウス分布アルゴリズムを使用してクラスタリングします。'SharedCov'true'Replicates'5 に設定されます。

criterion'CalinskiHarabasz''DaviesBouldin' または 'silhouette' の場合、関数ハンドル (MATLAB)を使用してクラスタリング アルゴリズムを指定できます。この関数は C = clustfun(DATA,K) (DATA はクラスタリングするデータ、K はクラスター数) という形式でなければなりません。clustfun の出力は、次のいずれかでなければなりません。

  • DATA の各観測値のクラスター インデックスを表す整数のベクトル。このベクトルには K 個の一意の値がなければなりません。

  • n 個の観測値と K 個のクラスのスコアから成る n 行 K 列の数値行列。この場合、各観測値のクラスター インデックスは各行の最大スコアの値に基づいて決定されます。

criterion'CalinskiHarabasz''DaviesBouldin' または 'silhouette' の場合は、clust を推奨されるクラスタリングの解を含む n 行 K 列の行列として指定することもできます。n は標本データの観測値の数、K は推奨されるクラスタリングの解の数です。列 j に、j 番目のクラスタリングの解として、N 個の各点に対するクラスター インデックスが格納されます。

データ型: single | double | char | string | 関数ハンドル

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で閉じなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'KList',[1:6] は、最適な数を検出するために 1、2、3、4、5 および 6 個のクラスターの検定を指定します。

評価するクラスター数のリスト。'KList' と正の整数値ベクトルで構成されるコンマ区切りのペアとして指定します。KList を指定しなければならないのは、clust がクラスタリング アルゴリズム名または関数ハンドルの場合です。criterion'gap' の場合、clust は文字ベクトル、string スカラーまたは関数ハンドルでなければならず、KList を指定しなければなりません。

例: 'KList',[1:6]

データ型: single | double

プロパティ

ClusteringFunction

入力データのクラスタリングに使用されるクラスタリング アルゴリズム。有効なクラスタリング アルゴリズム名または関数ハンドルとして格納されます。クラスタリングの解を入力で指定した場合、ClusteringFunction は空になります。

CriterionName

クラスタリングの評価に使用される基準の名前。有効な基準名として格納されます。

CriterionValues

InspectedK の推奨されるクラスター数のそれぞれに対応する基準値。数値のベクトルとして格納されます。

Distance

データのクラスタリングに使用される距離計量。有効な距離計量名として格納されます。

InspectedK

基準値の計算の対象となる推奨されるクラスター数のリスト。正の整数値のベクトルとして格納されます。

Missing

除外データを表す論理フラグ。論理値の列ベクトルとして格納されます。Missingtrue の場合、データ行列 x の対応する値がクラスタリングの解で使用されません。

NumObservations

データ行列 X の観測値の数から X の欠損値 (NaN) の数を除いた値。正の整数値として格納されます。

OptimalK

最適なクラスター数。正の整数値として格納されます。

OptimalY

OptimalK に対応する最適なクラスタリングの解。正の整数値の列ベクトルとして格納されます。クラスタリングの解を入力で指定した場合、OptimalY は空になります。

X

クラスタリングに使用されるデータ。数値の行列として格納されます。

メソッド

継承メソッド

addK追加クラスター数の評価
compactコンパクト クラスタリング評価オブジェクト
plot クラスタリング評価オブジェクト基準値のプロット

すべて折りたたむ

Calinski-Harabasz クラスタリング評価基準を使用して最適なクラスター数を評価します。

標本データを読み込みます。

load fisheriris;

このデータには、3 種のアヤメの花のがく片と花弁からの長さと幅の測定値が含まれています。

Calinski-Harabasz 基準を使用して最適なクラスター数を評価します。データのクラスタリングには kmeans を使用します。

rng('default');  % For reproducibility
eva = evalclusters(meas,'kmeans','CalinskiHarabasz','KList',[1:6])
eva = 
  CalinskiHarabaszEvaluation with properties:

    NumObservations: 150
         InspectedK: [1 2 3 4 5 6]
    CriterionValues: [NaN 513.9245 561.6278 530.4871 456.1279 469.5068]
           OptimalK: 3

OptimalK の値は、Calinski-Harabasz 基準に基づく最適なクラスター数が 3 つであることを示しています。

検定した各クラスター数について、Calinski-Harabasz 基準値をプロットします。

figure;
plot(eva);

このプロットは Calinski-Harabasz の最大値が 3 個のクラスターのときに発生することを示しており、最適なクラスター数が 3 であることを示唆しています。

グループ化した散布図を作成して花弁の長さと幅の関係を調べます。データは推奨されるクラスターごとにグループ化します。

PetalLength = meas(:,3);
PetalWidth = meas(:,4);
ClusterGroup = eva.OptimalY;
figure;
gscatter(PetalLength,PetalWidth,ClusterGroup,'rbg','xod');

このプロットは、左下のクラスター 3 が他の 2 つのクラスターから完全に分離されていることを示しています。クラスター 3 には花弁の幅と長さが最も小さい花が含まれています。クラスター 1 は右上にあり、花弁の幅と長さが最も大きい花が含まれています。クラスター 2 はプロットの中央近くにあり、これら 2 つの極値の間にある測定値の花が含まれています。

詳細

すべて展開する

参照

[1] Calinski, T., and J. Harabasz. “A dendrite method for cluster analysis.” Communications in Statistics. Vol. 3, No. 1, 1974, pp. 1–27.