<< FuzzyQuantizationError CLUSTER GetFuzzyMemberships >>

CLUSTER >> CLUSTER > GetDaviesBouldinIndex

GetDaviesBouldinIndex

berechnet den Davies-Bouldin-Index.

Calling Sequence

[DaviesBouldinIndex] = GetDaviesBouldinIndex(Samples, Centers, NormType, CompactnessType)

Parameters

Samples:

Matrix, die Beispielvektoren als Zeilen enthält

Centers:

Matrix, die Cluster-Zentren als Zeilen enthält

NormType:

Norm der Vektoren, ist Skalar größer als null, kann %inf sein

CompactnessType:

Exponent, der auf die Differenzen zwischen Vektoren und den entsprechenden Clusterzentren angewandt wird. Dieser Parameter ist optional. Voreingestellt ist eins.

Description

Diese Funktion beurteilt, wie kompakt Cluster sind und wie gut diese von einander separiert sind, indem der Davies-Bouldin-Index berechnet wird. Ein niedriger Wert bedeutet, dass die Cluster sehr kompakt sind und sich kaum überlappen. Ein hoher Wert bedeutet, dass sich die Cluster stark überlappen. Der Davies-Bouldin-Index ist nur definiert, wenn es mindestens zwei von einander verschiedene Clusterzentren gibt.

Examples

global CLUSTER_PATH;
Source = read_csv(CLUSTER_PATH + 'demos\IrisData.csv', ascii(9));
Samples = strtod(Source(:, 1 : 4));
InitialCenters = SelectRandomly(Samples, 5);
for k = 2 : 5
Centers = CMeans(Samples, InitialCenters(1 : k, :), 2, 'iterations', 10);
DaviesBouldinIndex = GetDaviesBouldinIndex(Samples, Centers, 2)
end;

See also

Authors

Bibliography

David L. Davies and Donald W. Bouldin, 'A cluster separation measure', IEEE Transaction on Pattern Analysis and Machine Intelligence, vol. 1, no. 2, pp. 224 - 227, 1979


Report an issue
<< FuzzyQuantizationError CLUSTER GetFuzzyMemberships >>