支持向量聚类(RapidMiner工作室核心)
剧情简介
该操作符使用支持向量执行聚类。聚类是将彼此相似和与属于其他集群的对象不同的对象分组在一起。聚类是一种从未标记数据中提取信息的技术。描述
该算子是基于Ben-Hur等人(2001)的支持向量聚类的实现。在这种支持向量聚类(SVC)算法中,数据点使用高斯核从数据空间映射到高维特征空间。在特征空间中搜索包含数据图像的最小球体。这个球体被映射回数据空间,在那里它形成了一组包含数据点的等高线。这些等高线被解释为簇边界。每个单独的轮廓线所包围的点与相同的簇相关联。随着高斯核宽度参数的减小,数据空间中断开的轮廓数量增加,导致簇的数量增加。由于等高线可以被解释为勾画出底层概率分布的支持,因此该算法可以被视为识别该概率分布中的山谷。
聚类是将彼此相似和与属于其他集群的对象不同的对象分组在一起。这是一种从未标记的数据中提取信息的技术,在许多不同的场景中都非常有用,例如,在营销应用程序中,我们可能对寻找具有相似购买行为的客户集群很感兴趣。
输入
- 榜样(数据表)
这个输入端口需要一个ExampleSet。它是附加的示例流程中的Generate Data操作符的输出。
输出
- 集群模式(集群模型)
此端口提供集群模型。它包含有关所执行集群的信息。它告诉哪些示例属于哪个集群。
- 集群设置(数据表)
通过此端口传递作为输入的ExampleSet,并对输出进行少量更改。一个具有id角色的属性被添加到输入ExampleSet中以区分示例。还可以根据添加集群属性参数的状态添加具有集群角色的属性。
参数
- add_cluster_attribute如果此参数设置为true,则带有集群角色将在生成的ExampleSet中生成,否则该操作符不会添加集群属性。在后一种情况下,您必须使用Apply Model操作符来生成集群属性。范围:布尔
- add_as_label如果该参数设置为true,则集群id存储在带有标签的作用,而不是集群角色(见添加集群属性参数)。范围:布尔
- remove_unlabeled如果将此参数设置为true,则从ExampleSet中删除未标记的示例。范围:布尔
- min_pts此参数指定每个集群中的最小点数。范围:整数
- kernel_type通过此参数选择核函数的类型。支持以下内核类型:点,径向,多项式,神经
- 点:点核由k(x,y)=x*y定义,即它是x和y的内积。
- 径向:径向核由exp(-g ||x-y||^2)定义,其中g是gamma,它由核gamma参数指定。可调参数gamma在内核的性能中起着重要作用,应该根据手头的问题仔细调整它。
- 多项式:多项式核由k(x,y)=(x*y+1)^d定义,其中d是多项式的次,由核次参数指定。多项式核非常适合于所有训练数据都是规范化的问题。
- 神经:神经核由两层神经网络tanh(a x*y+b)定义,其中a为,b为截距常数。可以使用内核a和内核b参数调整这些参数。通常的值是1/N,其中N是数据维数。注意,不是所有a和b的选择都指向一个有效的核函数。
- kernel_gamma这是支持向量机的核参数。这仅在内核类型参数设置为径向.范围:真正的
- kernel_degree这就是支持向量机的核参数度。这仅在内核类型参数设置为多项式.范围:真正的
- kernel_a该参数为支持向量机内核参数a内核类型参数设置为神经。范围:真正的
- kernel_b这是支持向量机的内核参数b内核类型参数设置为神经。范围:真正的
- kernel_cache这是一个专家参数。它指定内核计算缓存的大小(以兆字节为单位)。范围:真正的
- convergence_epsilon这是一个优化器参数。它规定了KKT条件下的精度。范围:真正的
- max_iterations这是一个优化器参数。它指定在指定次数的迭代之后停止迭代。范围:整数
- p此参数指定允许的异常值的百分比。范围:真正的
- r如果该参数设置为-1,则将计算出的半径作为半径。否则使用此参数指定的值作为半径。范围:真正的
- number_sample_points该参数指定要检查邻域的虚拟样本点的数量。范围:真正的
教程的过程
支持向量聚类算子对Ripley-Set数据集的聚类
在许多情况下,不能定义目标属性(即标签),数据应该自动分组。这个过程称为聚类。RapidMiner支持广泛的聚类方案,可以像使用其他学习方案一样使用。这包括与所有预处理操作符的组合。
在这个示例流程中,使用Generate Data操作符生成一个ExampleSet。注意,标签也被加载了,但它只用于可视化和比较,而不是用于构建集群本身。在此步骤中插入一个断点,以便在应用群集操作符之前查看ExampleSet。除了标签属性,ExampleSet还有两个真实的属性;“att1”和“att2”。支持向量聚类运算符应用于该数据集。运行该流程,您将看到支持向量集群操作符创建了两个新属性。创建id属性是为了清楚地区分示例。创建cluster属性是为了显示示例属于哪个集群。每个示例都分配给一个特定的集群。 The examples that are not in any cluster are considered as noise. Also note the Plot View of this data set. Switch to Plot View and set the the Plotter to 'Scatter', x-Axis to 'att1', y-Axis to 'att2' and Color Column to 'cluster'. You can clearly see how the algorithm has created three separate cluster (noise is also visible separately). A cluster model is also delivered through the cluster model output port. It has information regarding the clustering performed. Under Folder View you can see members of each cluster in folder format.