subclust
Find cluster centers using subtractive clustering
Syntax
Description
clusters
input data using subtractive clustering with the specified cluster
influence range, and returns the computed cluster centers. The subtractive clustering algorithm estimates
the number of clusters in the input data.centers
= subclust(data
,clusterInfluenceRange
)
clusters data using algorithm options specified by one or more
centers
= subclust(data
,clusterInfluenceRange
,Name,Value
)Name,Value
arguments.
Examples
Input Arguments
Output Arguments
Tips
To generate a fuzzy inference system using subtractive clustering, use the
genfis
command. For example, suppose you cluster your data using the following syntax:C = subclust(data,clusterInfluenceRange,"DataScale",dataScale,"Options",options);
where the first
M
columns ofdata
correspond to input variables, and the remaining columns correspond to output variables.You can generate a fuzzy system using the same training data and subtractive clustering configuration. To do so:
Configure clustering options.
opt = genfisOptions("SubtractiveClustering"); opt.ClusterInfluenceRange = clusterInfluenceRange; opt.DataScale = dataScale; opt.SquashFactor = options(1); opt.AcceptRatio = options(2); opt.RejectRatio = options(3); opt.Verbose = options(4);
Extract input and output variable data.
inputData = data(:,1:M); outputData = data(:,M+1:end);
Generate FIS structure.
fis = genfis(inputData,outputData,opt);
The fuzzy system,
fis
, contains one fuzzy rule for each cluster, and each input and output variable has one membership function per cluster. You can generate only Sugeno fuzzy systems using subtractive clustering. For more information, seegenfis
andgenfisOptions
.
Algorithms
Subtractive clustering assumes that each data point is a potential cluster center. The algorithm does the following:
Calculate the likelihood that each data point would define a cluster center, based on the density of surrounding data points.
Choose the data point with the highest potential to be the first cluster center.
Remove all data points near the first cluster center. The vicinity is determined using
clusterInfluenceRange
.Choose the remaining point with the highest potential as the next cluster center.
Repeat steps 3 and 4 until all the data is within the influence range of a cluster center.
The subtractive clustering method is an extension of the mountain clustering method proposed in [2].
References
[1] Chiu, Stephen L. “Fuzzy Model Identification Based on Cluster Estimation.” Journal of Intelligent and Fuzzy Systems 2, no. 3 (1994): 267–78. https://doi.org/10.3233/IFS-1994-2306.
[2] Yager, Ronald R., and Dimitar P. Filev. “Generation of Fuzzy Rules by Mountain Clustering.” Journal of Intelligent and Fuzzy Systems 2, no. 3 (1994): 209–19. https://doi.org/10.3233/IFS-1994-2301.