Main Content

DaviesBouldinEvaluation

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

    説明

    DaviesBouldinEvaluation は、最適なクラスター数 (OptimalK) を評価するために使用される標本データ (X)、クラスタリング データ (OptimalY)、および Davies-Bouldin 基準値 (CriterionValues) で構成されるオブジェクトです。Davies-Bouldin 基準はクラスター内の距離とクラスター間の距離の比に基づいています。最適なクラスタリングの解は最小の Davies-Bouldin インデックス値をもちます。詳細は、Davies-Bouldin 基準を参照してください。

    作成

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

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

    プロパティ

    すべて展開する

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

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

    標本データのクラスタリングに使用されるクラスタリング アルゴリズム。'kmeans''linkage''gmdistribution'、または関数ハンドルとして返されます。クラスタリング評価オブジェクトを作成する際に evalclusters の入力引数としてクラスタリングの解を指定した場合、ClusteringFunction は空になります。

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

    データ型: double | char | function_handle

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

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

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

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

    データ型: double

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

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

    データ型: double

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

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

    データ型: double

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

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

    データ型: double

    標本データのプロパティ

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

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

    データ型: double | logical

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

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

    データ型: double

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

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

    データ型: single | double

    オブジェクト関数

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

    すべて折りたたむ

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

    異なるパラメーター値をもつ 3 つの多変量分布による乱数を含む標本データを作成します。

    rng("default") % For reproducibility
    n = 200;
    
    mu1 = [2 2];
    sigma1 = [0.9 -0.0255; -0.0255 0.9];
    
    mu2 = [5 5];
    sigma2 = [0.5 0; 0 0.3];
    
    mu3 = [-2 -2];
    sigma3 = [1 0; 0 0.9];
    
    X = [mvnrnd(mu1,sigma1,n); ...
         mvnrnd(mu2,sigma2,n); ...
         mvnrnd(mu3,sigma3,n)];

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

    evaluation = evalclusters(X,"kmeans","DaviesBouldin","KList",1:6)
    evaluation = 
      DaviesBouldinEvaluation with properties:
    
        NumObservations: 600
             InspectedK: [1 2 3 4 5 6]
        CriterionValues: [NaN 0.4663 0.4454 0.8316 1.0444 0.9236]
               OptimalK: 3
    
    
    

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

    テストした各クラスター数について、Davies-Bouldin 基準値をプロットします。

    plot(evaluation)

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

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

    推薦されたクラスターを視覚的に調べるためにグループ化された散布図を作成します。

    clusters = evaluation.OptimalY;
    gscatter(X(:,1),X(:,2),clusters,[],"xod")

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

    このプロットには、データに含まれている 3 種類のクラスターが示されています。クラスター 1 は左下隅に、クラスター 2 は右上隅に、クラスター 3 はプロットの中央付近にあります。

    詳細

    すべて展開する

    参照

    [1] Davies, D. L., and D. W. Bouldin. “A Cluster Separation Measure.” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. PAMI-1, No. 2, 1979, pp. 224–227.

    バージョン履歴

    R2013b で導入