主要内容

subclust

使用减法聚类找到聚类中心

描述

例子

中心= subclust (数据clusterInfluenceRange群集使用具有指定群集影响范围的减法聚类输入数据,并返回计算出的群集中心。的减法聚类算法估计输入数据中的集群数量。

例子

中心= subclust (数据clusterInfluenceRange名称,值使用一个或多个指定的算法选项对数据进行群集名称,值参数。

例子

中心σ= subclust(___返回指定聚类中心在每个数据维度上的影响范围的西格玛值。

例子

全部折叠

加载数据集。

负载clusterDemo.dat

对所有维度使用相同的影响范围来查找群集中心。

C = subclust(clusterDemo,0.6);

每行C包含一个集群中心。

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

找到集群中心。

C = subclust(clusterDemo,0.5,“DataScale”, dataScale);

加载数据集。

负载clusterDemo.dat

指定以下集群选项:

  • 挤压因子2.0—只寻找距离较远的集群。

  • 接受率0.8-只接受极有可能成为集群中心的数据点。

  • 废品率0.7-如果数据点不具备成为集群中心的强大潜力,则拒绝它们。

  • 的冗长标志0—不打印进度信息到命令窗口。

选项= [2.0 0.8 0.7 0];

为每个维度和指定选项使用不同的影响范围,查找群集中心。

C = subclust(clusterDemo,[0.5 0.25 0.3],“选项”、选择);

加载数据集。

负载clusterDemo.dat

聚类数据,返回聚类sigma值,年代

[C,S] = subclust(clusterDemo,0.5);

聚类西格玛值表示每个数据维度中计算的聚类中心的影响范围。

输入参数

全部折叠

要聚集的数据,指定为——- - - - - -N数组,是数据点的数量和N是数据维数。

每个输入和输出的群集中心的影响范围,假设数据属于一个单元超框,指定为由逗号分隔的对组成“ClusterInfluenceRange”下列其中一项:

  • 范围[的标量值01-对所有输入和输出使用相同的影响范围。

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

指定较小的影响范围通常会创建越来越小的数据集群,产生更多模糊的规则。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:centers = subclust(data,0.5,DataScale=10)

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

用于将输入和输出数据规范化为单位超盒的数据比例因子,指定为2 × -N数组,N是输入和输出的总数。的每一列DataScale为相应的输入或输出数据集指定第一行中的最小值和第二行中的最大值。

DataScale“汽车”,genfis命令使用待聚类数据中的实际最小值和最大值。

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

用于缩放群集中心影响范围的挤压因子,指定为正标量。较小的挤压因子降低了将外围点视为集群的一部分的可能性,这通常会创建更多更小的数据集群。

接受比,定义为第一个簇中心的潜力的一个分数,高于该值的另一个数据点被接受为簇中心,指定为范围内的标量值[01].接受比必须大于拒绝比。

拒收率,定义为第一个簇中心潜力的一个分数,低于该值的另一个数据点被拒绝为簇中心,指定为范围[01].拒绝率必须小于接受率。

信息显示标志,指示是否在集群期间显示进度信息,指定为以下之一:

  • —不显示进度信息。

  • 真正的—显示进度信息。

输出参数

全部折叠

集群中心,返回为J——- - - - - -N数组,J是集群的数量和N是数据维数。

每个数据维的群集中心的影响范围,返回为N-element行向量。所有集群中心都有相同的σ值。

提示

  • 要使用减法聚类生成模糊推理系统,请使用genfis命令。例如,假设你使用以下语法进行数据集群:

    C = subclust(data,clusterInfluenceRange,“DataScale”dataScale,“选项”、选择);

    第一个数据对应于输入变量,其余列对应于输出变量。

    您可以使用相同的训练数据和减法聚类配置生成一个模糊系统。这样做:

    1. 配置集群选项。

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

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

      fis = genfis(inputData,outputData,opt);

    模糊系统,金融中间人,每个聚类包含一个模糊规则,每个输入和输出变量每个聚类有一个隶属度函数。使用减法聚类只能生成Sugeno模糊系统。有关更多信息,请参见genfis而且genfisOptions

算法

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

  1. 根据周围数据点的密度,计算每个数据点定义一个聚类中心的可能性。

  2. 选择潜力最大的数据点作为第一个聚类中心。

  3. 删除第一个群集中心附近的所有数据点。附近是用clusterInfluenceRange

  4. 选择剩余潜力最高的点作为下一个聚类中心。

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

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

参考文献

[1] Chiu S.,“基于聚类估计的模糊模型识别,”智能与模糊系统学报1994年9月,第2卷第3期。

[2] Yager, R.和D. Filev,“通过山聚类生成模糊规则,”智能与模糊系统学报,第2卷第3期,第209-219页,1994年。

版本历史

R2006a之前介绍

全部展开