DBSCAN(RapidMiner Studio Core)
剧情简介
该操作符使用DBSCAN执行集群。DBSCAN(用于带噪声应用程序的基于密度的空间聚类)是一种基于密度的聚类算法,因为它从估计的相应节点的密度分布开始找到许多聚类。描述
DBSCAN对集群的定义是基于密度可达性的概念。基本上就是一个点问从一个点直接密度可达吗p如果它不超过给定距离(即它是邻域的一部分)如果p被足够多的点所包围,以至于人们可以考虑p和问成为集群的一部分问被称为密度可达(注意与“直接密度可达”的区别p如果有一个序列p(1),…,p (n)的点P (1) = P和P (n) = q其中每个p (i + 1)直接密度可达吗p(我)。
注意,密度可达的关系不是对称的。问可能位于星团的边缘,没有足够多的邻居来计算其密度。这将停止寻找止于第一个非密集点的路径的过程。相比之下,用问会导致p(虽然这个过程会在那里停止,p作为第一个非密集点)。由于这种不对称性,引入了密度连通的概念:两点p和问如果有一个点,密度是连通的吗o这样两者p和问从哪里可以到达密度o。密度连通性是对称的。
聚类是数据集中点的子集,满足两个属性:聚类中的所有点是相互密度连接的。如果一个点与集群的任何点密度相连,那么它也是集群的一部分。
DBSCAN需要两个参数:epsilon和组成集群所需的最小点数(minPts)。和minPts可以通过ε和最小值点参数分别。DBSCAN从一个没有访问过的任意起始点开始。检索该点的邻域,如果它包含足够多的点,则开始一个聚类。否则,该点被标记为噪声。注意,这个点以后可能会在另一个点的足够大的epsilon环境中被发现,从而成为群集的一部分。
如果一个点被发现是一个星团的密集部分,那么它的邻域也是这个星团的一部分。因此,在邻域内找到的所有点都被添加,当它们也是密集的时候,它们自己的邻域也是如此。这个过程一直持续到完全找到密度连接的集群为止。然后,检索和处理一个新的未访问点,从而发现进一步的簇或噪声。
如果没有id属性,该操作符将创建一个。DBSCAN操作符分配的“聚类0”对应于标记为噪声的点。这些是小于的点最小值点它们的邻域点。
聚类关注的是将彼此相似且与属于其他集群的对象不同的对象分组在一起。这是一种从未标记数据中提取信息的技术,在许多不同的场景中非常有用,例如,在营销应用程序中,我们可能对寻找具有相似购买行为的客户集群感兴趣。
输入
榜样(数据表)
这个输入端口需要一个ExampleSet。它是附带的示例流程中检索操作符的输出。
输出
集群模式(集群模型)
该接口提供集群模型。它包含有关所执行的集群的信息。它告诉我们哪些例子属于哪个集群。
集群设置(数据表)
作为输入给出的ExampleSet通过该端口传递,对输出进行了微小的更改。将id为role的属性添加到输入ExampleSet中,以区分示例。还可以添加具有集群角色的属性,具体取决于add cluster attribute参数的状态。
参数
- ε该参数指定DBSCAN算法的epsilon参数。指定邻域的大小。范围:真正的
- min_points此参数指定组成群集的最小点数。范围:整数
- add_cluster_attribute如果此参数设置为true,则新属性为集群角色在生成的ExampleSet中生成,否则此操作符不会添加集群属性。在后一种情况下,您必须使用Apply Model操作符来生成集群属性。范围:布尔
- add_as_label如果该参数设置为true,则集群id存储在具有标签角色而不是集群角色(见添加集群属性参数)。范围:布尔
- remove_unlabeled如果此参数设置为true,则从ExampleSet中删除未标记的示例。范围:布尔
- measure_types该参数用于选择测量点间距离的测量类型。以下选项可用:混合的措施,名义上的措施,数值的措施和师分歧。选择范围:
- mixed_measure参数时有效测量类型参数设置为“混合度量”。唯一可用的选择是“混合欧几里得距离”选择范围:
- nominal_measure参数时有效测量类型参数设置为“标称度量”。如果输入的ExampleSet具有数值属性,则不能应用此选项。在这种情况下,应该选择“数值测量”选项。选择范围:
- numerical_measure参数时有效测量类型参数设置为“数值测量”。如果输入的ExampleSet具有标称属性,则不能应用此选项。如果输入的ExampleSet具有标称属性,则应该选择“标称度量”选项。选择范围:
- 散度参数时有效测量类型参数设置为'bregman散度'。选择范围:
- kernel_type此参数仅在数值测量参数设置为“核欧几里得距离”。通过此参数选择核函数的类型。支持以下内核类型:
- dot:点核定义为k(x,y)=x*y,即x与y的内积。
- radial:径向核由exp(-g ||x-y|| |^2)定义,其中g是由核参数gamma指定的gamma。可调参数gamma在内核的性能中起着重要作用,应该仔细地针对手头的问题进行调优。
- 多项式:多项式核定义为k(x,y)=(x*y+1)^d,其中d是多项式的度数,由核度数参数指定。多项式核非常适合于所有训练数据都归一化的问题。
- neural:神经核由两层神经网络tanh(a x*y+b)定义,其中a是alpha, b是截距常数。这些参数可以使用内核a和内核b参数进行调整。alpha的一个常见值是1/N,其中N是数据维度。注意,并不是a和b的所有选择都能得到有效的核函数。
- sigmoid:这是sigmoid内核。请注意,sigmoid内核在某些参数下是无效的。
- anova:这是方差分析内核。它有可调参数伽马和度。
- epachnenikov核是这个函数(3/4)(1-u2)对于u在-1和1之间u在这个范围之外是0。它有两个可调参数核sigma1和核度。
- gaussian_combination:这是高斯组合核。它有可调的参数kernel sigma1, kernel sigma2和kernel sigma3。
- multiquadric: multiquadric核由√(x-y||^2 + c^2)定义。它有可调的参数核sigma1和核sigma移位。
- kernel_gamma这是支持向量机的核参数。此参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为径向或方差分析。范围:真正的
- kernel_sigma1这是SVM核参数sigma1。此参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为epachnenikov,高斯组合或multiquadric。范围:真正的
- kernel_sigma2这是SVM内核参数sigma2。此参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为高斯组合。范围:真正的
- kernel_sigma3这是SVM核参数sigma3。此参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为高斯组合。范围:真正的
- kernel_shift这是SVM核参数的移位。此参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为multiquadric。范围:真正的
- kernel_degree这是SVM的核参数度。此参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为多项式,方差分析或epachnenikov。范围:真正的
- kernel_a此参数为支持向量机内核参数a数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为神经。范围:真正的
- kernel_b这是SVM内核参数b,该参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为神经。范围:真正的
教程的过程
用DBSCAN算子对Ripley-Set数据集进行聚类
在许多情况下,不可以定义目标属性(即标签),数据应该自动分组。这个过程称为聚类。RapidMiner支持广泛的集群模式,可以像其他学习模式一样使用。这包括与所有预处理操作符的组合。
在这个示例过程中,使用Retrieve操作符加载'Ripley-Set'数据集。注意,标签也被加载,但它仅用于可视化和比较,而不是用于构建集群本身。在此步骤中插入一个断点,以便您可以在应用DBSCAN操作符之前查看ExampleSet。除了标签属性,“Ripley-Set”还有两个真正的属性;'att1'和'att2'。DBSCAN运算符应用于此数据集,除epsilon参数设置为0.1外,所有参数都使用默认值。运行该流程,您将看到DBSCAN操作符创建了两个新属性。创建id属性是为了清楚地区分示例。创建cluster属性是为了显示示例属于哪个集群。每个示例被分配到一个特定的集群。 The examples in 'cluster_0' 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 groups (noise i.e. cluster_0 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.