このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
evalclusters
クラスタリングの解の評価
説明
例
Calinski-Harabasz 基準によるクラスタリングの解の評価
Calinski-Harabasz クラスタリング評価基準を使用して最適なクラスター数を評価します。
標本データを読み込みます。
loadfisheriris;
このデータには、3 種のアヤメの花のがく片と花弁からの長さと幅の測定値が含まれています。
Calinski-Harabasz 基準を使用して最適なクラスター数を評価します。データのクラスタリングにはkmeans
を使用します。
rng('default');% For reproducibilityeva = evalclusters(meas,'kmeans','CalinskiHarabasz','KList',[1:6])
eva = CalinskiHarabaszEvaluation with properties: NumObservations: 150 InspectedK: [1 2 3 4 5 6] CriterionValues: [Inf 513.9245 561.6278 530.4871 456.1279 469.5068] OptimalK: 1
OptimalK
の値は、Calinski-Harabasz 基準に基づく最適なクラスター数が 3 つであることを示しています。
クラスタリングの解の行列の評価
推奨されるクラスタリングの解の入力行列を使用して、最適なクラスター数を評価します。
標本データを読み込みます。
loadfisheriris;
このデータには、3 種のアヤメの花のがく片と花弁からの長さと幅の測定値が含まれています。
kmeans
を使用し、クラスター数を 1、2、3、4、5、6 にして、がく片の長さの測定値に対する推奨されるクラスタリングの解の入力行列を作成します。
clust = zeros(size(meas,1),6);fori=1:6 clust(:,i) = kmeans(meas,i,'emptyaction','singleton',...'replicate',5);end
clust
の各行は、1 つのがく片の長さの測定値に対応します。6 つの各列は、1 ~ 6 クラスターを含むクラスタリングの解に対応します。
Calinski-Harabasz 基準を使用して最適なクラスター数を評価します。
eva = evalclusters(meas,clust,'CalinskiHarabasz')
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 つであることを示しています。
関数ハンドルを使用したクラスタリング アルゴリズムの指定
関数ハンドルを使用してクラスタリング アルゴリズムを指定してから、最適なクラスター数を評価します。
標本データを読み込みます。
loadfisheriris;
このデータには、3 種のアヤメの花のがく片と花弁からの長さと幅の測定値が含まれています。
関数ハンドルを使用してクラスタリング アルゴリズムを指定します。
myfunc = @(X,K)(kmeans(X, K,'emptyaction','singleton',...'replicate',5));
Calinski-Harabasz 基準を使用してがく片の長さのデータに対する最適なクラスター数を評価します。
eva = evalclusters(meas,myfunc,'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 つであることを示しています。
入力引数
x
—入力データ
行列
N 行 P 列の行列として指定される入力データ。N は観測値の数、P は変数の数です。
データ型:single
|double
clust
—クラスタリング アルゴリズム
'kmeans'
|'linkage'
|'gmdistribution'
|クラスタリングの解の行列|関数ハンドル
クラスタリング アルゴリズム。次のいずれかとして指定します。
'kmeans' |
x のデータをkmeans クラスタリング アルゴリズムを使用してクラスタリングします。'EmptyAction' は'singleton' 、'Replicates' は5 に設定されます。 |
'linkage' |
x のデータをclusterdata 凝集型クラスタリング アルゴリズムを使用してクラスタリングします。'Linkage' は'ward' に設定されます。 |
'gmdistribution' |
x のデータをgmdistribution 混合ガウス分布アルゴリズムを使用してクラスタリングします。'SharedCov' はtrue 、'Replicates' は5 に設定されます。 |
criterion
が'CalinskiHarabasz'
、'DaviesBouldin'
または'silhouette'
の場合、関数ハンドルを使用してクラスタリング アルゴリズムを指定できます。この関数は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
|function_handle
criterion
—クラスタリング評価基準
'CalinskiHarabasz'
|'DaviesBouldin'
|'gap'
|'silhouette'
クラスタリング評価基準。次のいずれかとして指定します。
'CalinskiHarabasz' |
Calinski-Harabasz インデックス値を含むCalinskiHarabaszEvaluation クラスタリング評価オブジェクトを作成します。 |
'DaviesBouldin' |
Davies-Bouldin インデックス値を含むDaviesBouldinEvaluation クラスター評価オブジェクトを作成します。 |
'gap' |
ギャップ基準値を含むGapEvaluation クラスター評価オブジェクトを作成します。 |
'silhouette' |
シルエット値を含むSilhouetteEvaluation クラスター評価オブジェクトを作成します。 |
名前と値のペアの引数
オプションのName,Value
引数のコンマ区切りペアを指定します。Name
は引数名で、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を、任意の順番で指定できます。
'KList',[1:5],'Distance','cityblock'
は、市街地距離計量を使用して、1、2、3、4 および 5 つのクラスターを検定するよう指定します。
Distance
—距離計量
'sqEuclidean'
(既定値) |'Euclidean'
|'cityblock'
|ベクトル|関数| ...
基準値の計算に使用する距離計量。'Distance'
と以下のいずれかで構成されるコンマ区切りのペアとして指定します。
'sqEuclidean' |
2 乗ユークリッド距離 |
'Euclidean' |
ユークリッド距離。このオプションは、kmeans のクラスタリング アルゴリズムには使用できません。 |
'cityblock' |
差の絶対値の総和 |
的余弦 |
1 から、ベクトルとして扱われる点の間の夾角の余弦を引いた値 |
'correlation' |
1 から、値の系列として扱われる点の間の標本相関を引いた値 |
'Hamming' |
一致しない座標の比率。このオプションは、Silhouette 基準の場合のみ有効です。 |
'Jaccard' |
ゼロ以外の一致しない座標の比率。このオプションは、Silhouette 基準の場合のみ有効です。 |
それぞれの距離計量の詳細は、関数pdist
を参照してください。
関数ハンドルを使用して距離計量の関数を指定することもできます。距離関数の形式はd2 = distfun(XI,XJ)
でなければなりません。ここで、XI
は入力行列X
の 1 つの行に対応する 1 行 n 列のベクトル、XJ
はX
の複数の行に対応する m2行 n 列の行列です。distfun
は距離d2
が含まれている m2行 1 列のベクトルを返さなければなりません。このベクトルの k 番目の要素はXI
とXJ(k,:)
の間の距離です。
クラスタリング アルゴリズムclust
が距離計量として関数ハンドルを受け入れる場合のみ、Distance
は関数ハンドルを受け入れます。たとえば、kmeans
クラスタリング アルゴリズムは距離計量として関数ハンドルを受け入れません。したがって、kmeans
アルゴリズムを使用してDistance
の関数ハンドルを指定すると、エラーが発生します。
criterion
が'silhouette'
である場合、関数pdist
で作成される出力ベクトルとしてDistance
を指定することもできます。clust
が'kmeans'
または'gmdistribution'
である場合、evalclusters
はDistance
について指定された距離計量を使用してデータをクラスター化します。clust
が'linkage'
であり、Distance
が'sqEuclidean'
または'Euclidean'
である場合、ユークリッド距離とウォード連結法がクラスタリング アルゴリズムで使用されます。clust
が'linkage'
で、Distance
が他のいずれかの計量の場合は、指定した距離計量と平均連結法がクラスタリング アルゴリズムで使用されます。それ以外の場合はいずれも、
Distance
に指定した距離計量とクラスタリング アルゴリズムで使用される距離計量が一致していないと有意な結果が得られません。
例:'Distance','Euclidean'
データ型:single
|double
|char
|string
|function_handle
ClusterPriors
—各クラスターの事前確率
“经验”
(既定値) |'equal'
各クラスターの事前確率。'ClusterPriors'
と、以下のいずれかで構成されるコンマ区切りのペアとして指定します。
“经验” |
すべてのポイントのシルエット値を平均化することによって、クラスタリングの解の全体的なシルエット値を計算します。各クラスターは、サイズに比例して全体的なシルエット値に寄与します。 |
'equal' |
各クラスター内のすべてのポイントのシルエット値を平均化し、次にこれらの値をすべてのクラスターについて平均化することによって、クラスタリングの解の全体的なシルエット値を計算します。各クラスターは、サイズに関係なく、全体的なシルエット値に均等に寄与します。 |
例:“ClusterPriors”、“经验”
B
—参照データセットの数
100
(既定値) |正の整数値
参照分布ReferenceDistribution
から生成される参照データセットの数。'B'
と正の整数値で構成されるコンマ区切りのペアとして指定します。
例:'B',150
データ型:single
|double
ReferenceDistribution
—参照データの生成方法
'PCA'
(既定値) |'uniform'
参照データの生成方法。'ReferenceDistributions'
と以下のいずれかで構成されるコンマ区切りのペアとして指定します。
'PCA' |
データ行列x の主成分に合わせて整列されたボックスにおける一様分布から参照データを生成します。 |
'uniform' |
データ行列x の各特徴の範囲で均一に参照データを生成します。 |
例:'ReferenceDistribution','uniform'
SearchMethod
—最適なクラスター数の選択方法
'globalMaxSE'
(既定値) |'firstMaxSE'
最適なクラスター数の選択方法。'SearchMethod'
と以下のいずれかで構成されるコンマ区切りのペアとして指定します。
'globalMaxSE' |
K はクラスター数、Gap(K) は K 個のクラスターに対するクラスタリングの解のギャップ値、GAPMAX は最大ギャップ値、SE(GAPMAX) は最大ギャップ値に対応する標準誤差です。 |
'firstMaxSE' |
K はクラスター数、Gap(K) は K 個のクラスターに対するクラスタリングの解のギャップ値、SE(K + 1) は K + 1 個のクラスターに対するクラスターの解の標準誤差です。 |
例:'SearchMethod','globalMaxSE'
出力引数
eva
— クラスタリング評価データ
クラスタリング評価オブジェクト
クラスタリング評価データ。クラスタリング評価オブジェクトとして返されます。
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)