<< FuzzyQuantizationError CLUSTER GetFuzzyMemberships >>

CLUSTER >> CLUSTER > GetDaviesBouldinIndex

GetDaviesBouldinIndex

calculates the Davies-Bouldin index.

Calling Sequence

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

Parameters

Samples:

matrix that includes sample vectors as rows

Centers:

matrix that includes cluster centers as rows

NormType:

norm of vectors, must be a scalar greater than zeros, can be %inf

CompactnessType:

exponent applied to the differences between cluster members and center. This parameter is optional. Default value is one.

Description

This function evaluates the the compactness and separation of clusters by the Davies-Bouldin index. A low Davies-Bouldin index means that the clusters are compact and separated from each other. A high Davies-Bouldin index mean that the clusters overlap strongly. There must be at least two distinct cluster centers. Otherwise the Davies-Bouldin index is not defined.

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 >>