Main Content

GapEvaluation

ギャップ基準クラスタリング評価オブジェクト

    説明

    GapEvaluation は、標本データ (X)、クラスタリング データ (OptimalY) およびギャップ基準値 (CriterionValues) で構成されるオブジェクトであり、最適なクラスター数 (OptimalK) を評価するために使用されます。ギャップ基準値は差分 ExpectedLogWLogW に対応します。ここで、W はクラスター内の分散で、ExpectedLogW は参照分布からのモンテカルロ サンプリングによって決定され、LogW は標本データから計算されます。最適なクラスター数は、許容誤差の範囲内で局所的または大域的なギャップ値が最大になる解に対応します (SearchMethod)。詳細は、ギャップ値を参照してください。

    作成

    ギャップ基準クラスタリング評価オブジェクトを作成するには、関数 evalclusters を使用し、基準を "gap" と指定します。

    その後、compact を使用して、コンパクトなバージョンのギャップ基準クラスタリング評価オブジェクトを作成できます。この関数は、プロパティ XOptimalY、および Missing の内容を削除します。

    プロパティ

    すべて展開する

    クラスタリング評価のプロパティ

    この プロパティ は読み取り専用です。

    標本データのクラスタリングに使用されるクラスタリング アルゴリズム。'kmeans''linkage''gmdistribution'、または関数ハンドルとして返されます。

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

    データ型: char | function_handle

    この プロパティ は読み取り専用です。

    クラスタリングの評価に使用される基準の名前。'Gap' として返されます。

    この プロパティ は読み取り専用です。

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

    データ型: double

    この プロパティ は読み取り専用です。

    データのクラスタリングと基準値の計算に使用される距離計量。次の表のいずれかの値または関数ハンドルとして返されます。

    説明
    'sqEuclidean'2 乗ユークリッド距離
    'Euclidean'ユークリッド距離
    'cityblock'差の絶対値の総和
    'cosine'1 から、ベクトルとして扱われる点の間の夾角の余弦を引いた値
    'correlation'1 から、値の系列として扱われる点の間の標本相関を引いた値

    データ型: char | function_handle

    この プロパティ は読み取り専用です。

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

    データ型: double

    この プロパティ は読み取り専用です。

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

    データ型: double

    この プロパティ は読み取り専用です。

    OptimalK に対応する最適なクラスタリングの解。正の整数列ベクトルとして返されます。OptimalY の各行は、X の対応する観測値 (または行) のクラスター インデックスを表します。クラスタリング評価オブジェクトを作成する際に evalclusters の入力引数としてクラスタリングの解を指定した場合、またはコンパクトなクラスタリング評価オブジェクトの場合 (compact を参照)、OptimalY は空になります。

    データ型: double

    この プロパティ は読み取り専用です。

    最適なクラスター数の選択方法。'globalMaxSE' または 'firstMaxSE' として返されます。

    説明
    'globalMaxSE'

    InspectedK で指定されたクラスター数のそれぞれを評価し、次の条件を満たす最小のクラスター数を選択します。

    Gap(K)GAPMAXSE(GAPMAX),

    K はクラスター数、Gap(K) は K 個のクラスターに対するクラスタリングの解のギャップ値、GAPMAX は最大ギャップ値、SE(GAPMAX) は最大ギャップ値に対応する標準誤差です。

    'firstMaxSE'

    InspectedK で指定されたクラスター数のそれぞれを評価し、次の条件を満たす最小のクラスター数を選択します。

    Gap(K)Gap(K+1)SE(K+1),

    K はクラスター数、Gap(K) は K 個のクラスターに対するクラスタリングの解のギャップ値、SE(K + 1)K + 1 個のクラスターに対するクラスターの解の標準誤差です。

    標本データのプロパティ

    この プロパティ は読み取り専用です。

    標本データ X に基づくクラスター内の分散 W の自然対数。数値ベクトルとして返されます。W は距離計量 Distance を使用して計算されるクラスター内の分散です。LogW の各要素は特定の推奨されるクラスター数 (InspectedK の要素) に対応します。

    データ型: double

    この プロパティ は読み取り専用です。

    除外データ。logical 列ベクトルとして返されます。Missing の要素が true の場合、データ行列 X の対応する観測値 (または行) がクラスタリングの解で使用されません。コンパクトなクラスタリング評価オブジェクトの場合 (compact を参照)、Missing は空になります。

    データ型: double | logical

    この プロパティ は読み取り専用です。

    データ行列 X の観測値の数。欠損値 (NaN) がある観測値は無視されます。正の整数スカラーとして返されます。

    データ型: double

    この プロパティ は読み取り専用です。

    クラスタリングに使用されるデータ。数値行列として返されます。行は観測値に対応し、列は変数に対応します。コンパクトなクラスタリング評価オブジェクトの場合 (compact を参照)、X は空になります。

    データ型: single | double

    参照データのプロパティ

    この プロパティ は読み取り専用です。

    参照分布 ReferenceDistribution から生成される参照データ セットの数。正の整数スカラーとして返されます。

    データ型: double

    この プロパティ は読み取り専用です。

    生成された参照データに基づくクラスター内の分散 W の自然対数の期待値。数値ベクトルとして返されます。W は距離計量 Distance を使用して計算されるクラスター内の分散です。ExpectedLogW の各要素は特定の推奨されるクラスター数 (InspectedK の要素) に対応します。

    データ型: double

    この プロパティ は読み取り専用です。

    参照データの生成方法。'PCA' または 'uniform' として返されます。

    説明
    'PCA'データ行列 X の主成分に合わせて整列されたボックスにおける一様分布から参照データを生成します。
    'uniform'データ行列 X の各特徴の範囲で均一に参照データを生成します。

    この プロパティ は読み取り専用です。

    参照データに対するクラスター内の分散 W の自然対数の標準誤差。数値ベクトルとして返されます。W は距離計量 Distance を使用して計算されるクラスター内の分散です。SE の各要素は特定の推奨されるクラスター数 (InspectedK の要素) に対応します。

    データ型: double

    この プロパティ は読み取り専用です。

    参照データに対するクラスター内の分散 W の自然対数の標準偏差。数値ベクトルとして返されます。W は距離計量 Distance を使用して計算されるクラスター内の分散です。StdLogW の各要素は特定の推奨されるクラスター数 (InspectedK の要素) に対応します。

    データ型: double

    オブジェクト関数

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

    すべて折りたたむ

    ギャップ クラスタリング評価基準を使用して最適なクラスター数を評価します。

    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)

    Figure contains an axes object. The axes object with xlabel Number of Clusters, ylabel Gap Values contains 2 objects of type errorbar, line.

    このプロットでは、クラスター数が 6 の場合にギャップ基準の値が最大になっています。しかし、クラスター数 5 に対する値は最大から 1 標準偏差以内にあるので、推奨される最適なクラスター数は 5 です。

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

    PetalLength = meas(:,3);
    PetalWidth = meas(:,4);
    clusters = evaluation.OptimalY;
    gscatter(PetalLength,PetalWidth,clusters,[],"xod^*");

    Figure contains an axes object. The axes object with xlabel PetalLength, ylabel PetalWidth contains 5 objects of type line. One or more of the lines displays its values using only markers These objects represent 1, 2, 3, 4, 5.

    このプロットは、左下のクラスター 4 が他の 4 つのクラスターから完全に分離されていることを示しています。クラスター 4 には花弁の幅と長さが最も小さい花が含まれています。クラスター 2 は右上にあり、花弁の幅と長さが最も大きい花が含まれています。クラスター 5 はクラスター 2 の横にあり、クラスター 2 の花と比較して花弁の幅は同様であるが長さは短い花が含まれています。クラスター 1 および 3 はプロットの中央付近にあり、測定値が極端な値ではない花が含まれています。

    詳細

    すべて展開する

    参照

    [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 で導入