main Content

亚固定

Find cluster centers using subtractive clustering

Description

例子

centers= subclust(data,,,,clusterInfluenceRangeclusters input data using subtractive clustering with the specified cluster influence range, and returns the computed cluster centers. The减法聚类算法估计输入数据中的簇数。

例子

centers= subclust(data,,,,clusterInfluenceRange,,,,姓名,,,,Valueclusters data using algorithm options specified by one or more姓名,,,,Valuearguments.

例子

[[centers,,,,西格玛这是给予的= subclust(___返回指定群集中心在每个数据维度中的影响范围的Sigma值。

Examples

collapse all

加载数据集。

加载clusterDemo.dat

在所有维度上使用相同的影响范围找到群集中心。

c = subclust(clusterDemo,0.6);

Each row ofC包含一个集群中心。

C
C=3×30。5779 0.2355 0.5133 0.7797 0.8191 0.1801 0.1959 0.6228 0.8363

加载数据集。

加载clusterDemo.dat

为每个数据维度定义最小和最大归一化边界。为每个维度使用相同的界限。

dataScale = [-0.2 -0.2 -0.2; 1.2 1.2 1.2];

Find cluster centers.

C= subclust(clusterDemo,0.5,'DataScale',,,,dataScale);

加载数据集。

加载clusterDemo.dat

specify the following clustering options:

  • squash factor of2.0- Only find clusters that are far from each other.

  • 接受比率0。8- Only accept data points with a strong potential for being cluster centers.

  • 拒绝比率0。7- 如果数据点没有强大的群集中心潜力,则拒绝它们。

  • 详细的旗帜0- 请勿将进度信息打印到命令窗口。

选项= [2.0 0.8 0.7 0];

Find cluster centers, using a different range of influence for each dimension and the specified options.

C= subclust(clusterDemo,[0.5 0.25 0.3],'Options',,,,options);

加载数据集。

加载clusterDemo.dat

Cluster data, returning cluster sigma values,s

[c,s] = subclust(clusterDemo,0.5);

Cluster sigma values indicate the range of influence of the computed cluster centers in each data dimension.

Input Arguments

collapse all

Data to be clustered, specified as anm-by-n数组,哪里m是数据点的数量和n是数据维度的数量。

假设数据落在单位超箱中,群集中心对每个输入的影响范围,并指定为逗号分隔对的对'ClusterInfluenceRange'one of the following:

  • 标量值在范围内01] - 为所有输入和输出使用相同的影响范围。

  • 向量 - 为每个输入和输出使用不同的影响范围。

指定一个较小范围的影响通常creates more and smaller data clusters, producing more fuzzy rules.

名称值参数

specify optional pairs of arguments asname1 = value1,...,namen = valuen,,,,where姓名是参数名称和Valueis the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

在R2021a之前,请使用逗号分隔每个名称和值,并附上姓名用引号。

Example:中心= subclust(数据,0.5,datascale = 10)

在R2021a之前,请使用逗号分隔每个名称和值,并附上姓名用引号。

Example:centers = subclust(data,0.5,"DataScale",10)

将输入和输出数据归一化的数据量表因子变成单位超箱,指定为2 by-n数组,哪里n是输入和输出的总数。每一列Datascale指定第一行中的最小值和相应输入或输出数据集的第二行中的最大值。

WhenDatascaleis'汽车', 这genfis命令使用要聚类的数据中的实际最小值和最大值。

聚类选项,指定为具有以下元素的向量。

squash factor for scaling the range of influence of cluster centers, specified as a positive scalar. A smaller squash factor reduces the potential for outlying points to be considered as part of a cluster, which usually creates more and smaller data clusters.

接受率定义为第一个群集中心电位的一部分,在该中心上方,另一个数据点被接受为群集中心,被指定为范围内的标量值[0,,,,1]。接受率必须大于排斥比。

Rejection ratio, defined as a fraction of the potential of the first cluster center, below which another data point is rejected as a cluster center, specified as a scalar value in the range [0,,,,1]。排斥比必须小于接受率。

Information display flag indicating whether to display progress information during clustering, specified as one of the following:

  • 错误的-Do not display progress information.

  • true-Display progress information.

输出参数

collapse all

集群中心,返回j-by-n数组,哪里j是集群的数量和n是数据维度的数量。

Range of influence of cluster centers for each data dimension, returned as ann- 元素行矢量。所有集群中心都有相同的集合西格玛值。

Tips

  • To generate a fuzzy inference system using subtractive clustering, use thegenfiscommand. For example, suppose you cluster your data using the following syntax:

    C= subclust(data,clusterInfluenceRange,'DataScale',,,,dataScale,'Options',,,,options);

    where the firstmdatacorrespond 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:

    1. Configure clustering options.

      opt = genfisOptions(“减去群集”); opt.ClusterInfluenceRange = clusterInfluenceRange; opt.DataScale = dataScale; opt.SquashFactor = options(1); opt.AcceptRatio = options(2); opt.RejectRatio = options(3); opt.Verbose = options(4);
    2. 提取输入和输出变量数据。

      inputData = data(:,1:M); outputData = data(:,M+1:end);
    3. 生成FIS结构。

      FIS= genfis(inputData,outputData,opt);

    The fuzzy system,FIS,每个集群包含一个模糊规则,每个输入和输出变量每个群集具有一个成员资格功能。您只能使用减法聚类仅生成Sugeno模糊系统。有关更多信息,请参阅genfisandgenfisOptions

Algorithms

减法聚类假设每个数据点都是一个潜在的群集中心。该算法执行以下操作:

  1. Calculate the likelihood that each data point would define a cluster center, based on the density of surrounding data points.

  2. Choose the data point with the highest potential to be the first cluster center.

  3. Remove all data points near the first cluster center. The vicinity is determined usingclusterInfluenceRange

  4. 选择具有最高电位的剩余点作为下一个群集中心。

  5. 重复步骤3和4,直到所有数据都在群集中心的影响范围内。

减法聚类方法是提出的山聚类方法的扩展[2]

References

[[1这是给予的Chiu, S., "Fuzzy Model Identification Based on Cluster Estimation,"智能和模糊系统杂志,卷。2,第3号,1994年9月。

[2] Yager,R。和D. Filev,“通过山区聚类产生模糊规则,”智能和模糊系统杂志,卷。2, No. 3, pp. 209-219, 1994.

版本历史记录

Introduced before R2006a