k - means(并发)
剧情简介
操作符执行集群k - means算法。描述
操作符执行集群k - means算法。聚类组将彼此相似的例子聚在一起。因为没有标签属性是必要的,聚类可以用于未标记的数据,是一种无监督机器学习算法。leyu体育是真的吗
k-means算法确定了一组k聚类,并将每个示例分配到确切的一个聚类。集群由相似的示例组成。示例之间的相似性是基于它们之间的距离度量。
k-means算法中的聚类由中心在ExampleSet的n个属性的n维空间中的位置决定。这个位置称为质心。它可以(但不一定)是ExampleSets的一个Example的位置。
k-均值算法从k作为质心的点k潜在的集群。这些起始点是的位置k输入ExampleSet随机抽取的示例,或由k-means++启发式if确定确定好的起始值设置为true。
所有的样例被分配到离它们最近的聚类(最近的聚类由测量类型).接下来,通过对一个簇的所有样例进行平均,重新计算簇的质心。对于新的质心重复上述步骤,直到质心不再移动或最大优化步骤是达到了。请注意,如果度量类型不是基于欧几里德距离计算,则不能确保k-means算法收敛(因为通过平均来重新计算质心是假设欧几里德空间)。
重复这个过程最大运行每次都有不同的起始点。将所有样例到其相应质心的距离平方和最小的聚类集合交付。
分化
k-Medoids
在k-medoids算法中,聚类的质心总是聚类中的一个点。这是k-means和k- medioids算法的主要区别。
k - means(内核)
Kernel k-means使用Kernel来估计example和cluster之间的距离。由于核的性质,有必要对群集的所有示例求和以计算一个距离。因此,该算法在样本数量上是二次的,并且不返回质心簇模型(相反,K-Means算子返回质心簇模型)。
输入
- 示例集输入(数据表)
这个输入端口需要一个ExampleSet。
输出
- 集群模式(质心聚类模型)
该接口提供集群模型。它包含了哪些示例属于哪个集群的信息。它还存储了星团质心的位置。Apply Model Operator可以使用它在另一个ExampleSet上执行指定的群集。该聚类模型还可以通过Group models Operator与其他聚类模型、预处理模型和学习模型进行分组。
- 集群设置(数据表)
一个带有特殊角色“id”的属性“id”被添加到输入ExampleSet中,以区分示例。根据add cluster属性和add as label参数,还会添加具有特殊角色“cluster”或“label”的属性“cluster”。由此产生的ExampleSet将在此输出端口交付。
参数
- add_cluster_attribute
如果为true,则为每个示例生成一个名为“cluster”的新属性,其中包含cluster_id。默认情况下,除了参数之外,属性是用特殊角色“Cluster”创建的添加为标签是真的。如果是这样,则新属性称为“label”,并具有特殊角色“label”。稍后还可以通过使用Apply Model Operator生成该属性。
范围: - add_as_label
如果为true,则带有cluster_id的新属性称为'label',并且具有特殊角色'label'。如果参数添加集群属性为false,则不创建新属性。
范围: - remove_unlabeled
如果设置为true,不能分配给集群的示例将从输出ExampleSet中删除。
范围: - k
此参数指定要确定的集群数量。
范围: - max_runs
该参数指定在随机初始化起始点的情况下k-Means的最大运行次数。
范围: - determine_good_start_values
如果是真的k起点是使用k-means++启发式确定的,在David Arthur和Sergei Vassilvitskii 2007年的“k-means++:谨慎播种的优势”中有描述。
范围: - max_optimization_steps
此参数指定一次k-Means运行所执行的最大迭代次数。
范围: - measure_types
此参数用于选择要用于查找最近邻居的度量类型。以下选项可用:
- 混合度量:混合度量用于计算标称和数值属性的距离。
- 标称度量:如果只有标称属性,则可以使用不同的距离度量来计算该标称属性上的距离。
- 数字度量:在只有数字属性的情况下,可以使用不同的距离度量来计算这个数字属性上的距离。
- Bregmann散度:Bregmann散度是不满足三角不等式或对称的更一般的“接近”测度类型。有关更多细节,请参阅参数散度。
- mixed_measure
的唯一可用选项混合测量是“混合欧几里得距离”对于数值,计算欧几里得距离。对于最小值,如果两个值相同,则取距离为0,否则取距离为1。参数时有效测量类型参数设置为“混合度量”。
范围: - nominal_measure
该参数定义了如何仅为输入ExampleSet中的标称属性计算距离测量类型设置为标称度量。如果使用相似度作为距离度量,则实际距离作为负相似度计算。对于不同的相似度,定义如下变量:
e:两个示例具有相等和非零值的属性的个数
u:两个示例值不相等的属性的个数
z:两个示例都为零的属性的个数
- nomaldistance:如果两个值相同,则两个值的距离为0,否则为1。
- dicessimilarity:根据上述定义,dicessimilarity为:2*e/(2*e+u)
- JaccardSimilarity:使用上述定义,JaccardSimilarity为:e/(e+u)
- kulczynski相似度:根据上述定义,kulczynski相似度为:e/u
- RogersTanimotoSimilarity:根据上述定义,RogersTanimotoSimilarity为:(e+z)/(e+2*u+z)
- RussellRaoSimilarity:根据上述定义,RussellRaoSimilarity为:e/(e+u+z)
- SimpleMatchingSimilarity:根据上述定义,SimpleMatchingSimilarity为:(e+z)/(e+u+z)
- numerical_measure
该参数定义了如何仅为输入ExampleSet中的数值属性计算距离测量类型设置为数值测量。对于不同的距离测量,定义如下变量:
y(i,j):第i个示例的第j个属性的值。因此,y(1,3) - y(2,3)是第一个和第二个示例的第三个属性的值之差。
如果使用相似度作为距离度量,则实际距离作为负相似度计算。
- 欧几里得距离:所有属性的二次差之和的平方根。Dist = Sqrt (Sum_(j=1) [y(1,j)-y(2,j)]^2)
- CanberraDistance:所有属性的总和。和是两个值之差的绝对值,除以两个绝对值之和。Dist = Sum_(j=1) |y(1,j)-y(2,j)| / (|y(1,j)|+|y(2,j)|)在计算机安全中,CanberraDistance常用于比较排名列表或入侵检测。
- ChebychevDistance:所有属性的最大差值。Dist = max_(j=1) (|y(1,j)-y(2,j)|)
- CorrelationSimilarity:相似度计算为两个示例的属性向量之间的相关性。
- 余弦相似度:度量两个示例的属性向量之间夹角余弦值的相似度度量。
- dicessimilarity:数值属性的dicessimilarity计算为2*Y1Y2/(Y1+Y2)。Y1Y2 =和/积= Sum_(j=1) y(1,j)*y(2,j)Y1 =第一个例子的值求和= Sum_(j=1) y(1,j) Y2 =第二个例子的值求和= Sum_(j=1) y(2,j)
- 动态时间翘曲(DynamicTimeWarpingDistance):动态时间翘曲通常用于时间序列分析,用于测量两个时间序列之间的距离。这里计算从第一个示例的属性向量到第二个示例的最佳“翘曲”路径上的距离。
- Inner乐鱼全站app下载ProductSimilarity:相似度计算为两个示例的属性向量的乘积的和。Dist = -Similarity = -Sum_(j=1) y(1,j)*y(2,j)
- JaccardSimilarity: JaccardSimilarity计算为Y1Y2/(Y1+Y2-Y1Y2)。Y1Y2, Y1和Y2的定义见dicessimilarity。
- kerneuclideandistance:距离由两个样例在变换空间中的欧几里得距离计算。转换由所选的内核定义,并由参数内核类型,gamma, sigma1, sigma2, sigma 3, shift, degree, a, b来配置。
- 曼哈顿距离:属性值的绝对距离之和。Dist = Sum_(j=1) |y(1,j)-y(2,j)|
- Max乐鱼全站app下载ProductSimilarity:相似度是所有Attribute值的所有产品的最大值。如果最大值小于或等于零,则不定义相似性。Dist = -Similarity = -max_(j=1) (y(1,j)*y(2,j))
- 重叠相似度:相似度是数值属性简单匹配的一种变体,计算方法为minY1Y2 / min(Y1,Y2)。Y1, Y2的定义见dicessimilarity。minY1Y2 =对最小值求和= Sum_(j=1) min [y(1,j),y(2,j)]。
- 散度
该参数定义了使用哪种类型的Bregman散度测量类型参数设置为'bregman散度'。对于不同的距离测量,定义如下变量:
y(i,j):第i个示例的第j个属性的值。因此,y(1,3) - y(2,3)是第一个和第二个示例的第三个属性的值之差。
- GeneralizedIDivergence:距离计算为Sum1 Sum2。如果任何Attribute值小于或等于0,则不适用。Sum1 = Sum_ (j = 1) y (j) * ln (y (j) / y (j)] Sum2 = Sum_ (j = 1) [y (j) - y (j)]
- ItakuraSaitoDistance: ItakuraSaitoDistance只能计算属性为1且值大于0的ExampleSets。Dist = y(1,1)/y(2,1)-ln[y(1,1)/y(2,1)]-1
- KLDivergence: Kullback-Leibler散度是衡量一个概率分布如何偏离第二个预期概率分布的方法。Dist = Sum_(j=1) [y(1,j)*log_2(y(1,j)/y(2,j))]
- 对数损失:对数损失只能计算具有1属性和值大于0的ExampleSets。Dist = y(1,1)*ln[y(1,1)/y(2,1)]-(y(1,1)-y(2,1))
- LogisticLoss:只有属性为1且值大于0的ExampleSets才能计算LogisticLoss。Dist = y (1,1) * ln (y (1,1) / y (2, 1)) + (1 y (1,1)) * ln [(1 y (1,1)) / (1 y (2,1)))
- MahalanobisDistance: Mahalanobis distance是两个样本之间的距离,假设它们都是相同分布的随机向量。因此在整个exampleeset上计算协方差矩阵S,计算Distance为:Dist = Sqrt [(vecY1-vecY2) S (vecY1-vecY2)] vecY1 = Example 1的属性向量vecY2 = Example 2的属性向量
- SquaredEuclideanDistance:所有属性的二次差之和。Dist = Sum_(j=1) [y(1,j)-y(2,j)]^2
- SquaredLoss: SquaredLoss只能计算带有1个属性的ExampleSets。Dist = [y(1,1)-y(2,1)]^2
- kernel_type
该参数仅在数值测量参数设置为“核欧几里得距离”。通过此参数选择核函数的类型。支持以下内核类型:
- dot:点核定义为k(x,y) = x*y,即它是x与y的内积。
- 径向:径向核由k(x,y) = exp(-g*||x-y||^2)定义,其中g是gamma,由内核gamma参数指定。可调参数gamma在内核的性能中起着重要作用,应该仔细地针对手头的问题进行调优。
- 多项式:多项式核由k(x,y) = (x*y+1)^d定义,其中d是多项式的度数,由_kernel degree_参数指定。多项式核非常适合于所有训练数据都归一化的问题。
- sigmoid:这是一个双曲正切sigmoid核。计算距离为tanh[a*Y1Y2+b],其中Y1Y2为两个示例的属性向量的内积。A和b可以使用内核A和内核b参数进行调整。A的一个常见值是1/N,其中N是数据维数。注意,并不是a和b的所有选择都能得到有效的核函数。
- anova:方差核被定义为exp(-g(x-y))求和的d次方,其中g是伽马,d是度。两者分别由核γ和核度参数调节。
- 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,该参数仅在数值测量参数设置为“核欧几里得距离”,并且内核类型参数设置为神经.
范围: - use_local_random_seed
该参数表示a局部随机种子是否应该用于随机化k算法的不同起始点。
范围: - local_random_seed
如果使用当地的随机种子参数被选中,此参数确定本地随机种子。
范围:
教程的过程
虹膜数据集的聚类
在本教程过程中,使用k-means算子对Iris数据集进行聚类。Iris数据集从Samples文件夹中检索。也检索标签属性,但仅用于将集群分配与示例类进行比较。在集群中没有使用标签属性。有关更多细节,请参阅流程中的评论。