K-apriori算法的工作

Working of K-apriori Algorithm

我正在尝试为数据挖掘算法开发 java 代码,即 k-apriori 算法,它提高了 apriori 算法的性能。正如我已经开发的 1) apriori & 2) apriori 基于布尔矩阵。我无法理解的是 wiener 函数 如何帮助转换数据。为什么我们在这个算法中使用它。我试图搜索 google 例如 K-apriori 算法,但找不到任何示例。我知道 K-means 算法的工作原理。如果有人有 K-apriori 的例子,特别是它是如何工作的,那将会很有帮助。 Here 是 link,我指的是 K-apriori 算法。

我自己从未实现过 k-apriori,但如果我是对的,那只是 Apriori 在 K-means 找到的 K 集群中工作

如您所知,K-means 是基于聚类质心的概念。通常二进制数据聚类是通过使用 0 和 1 作为数值来完成的。但是,当涉及到从数据计算质心时,这是非常有问题的。如果您有二进制数据,两点之间的距离就是两点之间不同的位数。您可以在 this link

中阅读有关此问题的更多信息

要获得任何有意义的聚类,K-means 应该对真实值进行操作。这就是为什么您使用维纳函数将二进制值转换为实际值,这有助于 K-means 获得令人满意的结果

维纳函数 - 他们对每个二进制向量执行如下操作:

  1. 计算每个元素周围输入向量 Xi 的均值 µ
  2. 计算每个元素的方差σ^2
  3. 根据其邻域使用方程 Y 对向量中的每个元素执行维纳变换

假设您有大小为 pxq 的二进制矩阵大小 X 和向量 V,它是该矩阵的第 n 行。 Let choose neighborhood window 3. 对于 V 向量的第 n 个位置

µ = 1/3 * ( V[n-1] + V[n] + V[n+1] )

σ^2 = 1/3 * ( ( V[n-1]-µ )^2 + ( V[n]-µ )^2 + ( V[n+1]-µ )^2 )

Y[n] = µ + (σ^2 - λ^2)/σ^2 * ( V[n] - µ )

其中 λ^2 是所有局部估计方差的平均值,因此 f.e。假设向量的长度 V = 5:

λ^2 = (σ^2[0]+σ^21+σ^2[2]+σ^2[3]+σ^2[4])/5