algorithm - 在 Z 分数归一化数据上应用 K 均值聚类

标签 algorithm computer-science data-mining k-means

我一直在努力了解如何将 k 均值聚类应用于公司列表的一小组数据。

给出平均值和标准差,以便我可以确定标准化数据。

例如,我有以下内容:

zscore

根据我对k均值聚类的理解,我必须随机找到质心,其中k = 3。我必须不断调整质心位置,直到不再可能发生任何移动,即在一定时间后数据保持不变结果满足。

我在将这些过程应用于我的数据集时遇到困难。我已经观看并搜索了许多关于如何一步一步实现这一目标的示例,但我还没有取得任何让我理解的成功。

基本上我应该做的是在每次调整质心时显示散点图。

我相信我必须使用欧几里得距离算法来计算两个数据项之间的距离,但这是否意味着 z 分数销售和 z 分数燃料之间的距离,还是什么?这就是为什么我迷失了方向,即使我已经阅读了大约十几个幻灯片并观看了多个视频。

这似乎是我遇到过的最好的例子,但即便如此,由于我的示例与介绍的示例略有不同,我仍然有点迷失:http://www.indiana.edu/~dll/Q530/Q530_kk.pdf

我取得的最大进步是接触了各种数据挖掘软件,如WEKA、Orange、各种Excel插件如XLMiner等。但是,它们似乎提供的是最终结果,而不是过程需要到达那里。

感谢任何帮助。如果需要更多信息,请告诉我。

谢谢。

编辑:我找到了更多解决方案,并认为我应该添加以防有人遇到相同问题。

1) 我使用视频中提到的 Excel 公式计算了欧几里得距离:http://www.lynda.com/Excel-tutorials/Calculating-distance-centroid/165438/175003-4.html


公式如下:=SQRT((B28-$B$52)^2+(C28-$C$52)^2) 请记住,每个单元格代表您的位置包含数据。

在这种情况下,我的细胞列在此处的图像中:/image/BduB5.png

这给了我下表:/image/gkb7z.png


最佳答案

您的流程是正确的。就我个人而言,我会将您的数据视为 2D,只是销售和燃油成本的 (x,y)...尽管您可以使用所有 4 个数据,而只使用 4D 点。

第 1 步:选择随机中心(其中 3 个 c_1、c_2、c_3),或者将数据分成 3 个随机集群。如果将数据随机分为 3 个簇,则计算每个簇中所有点的平均值。这三个手段成为三个中心。 (这里的意思是,我的意思是每个坐标的平均值......将它们视为向量并对向量求平均值。)

第 2 步:每个中心代表三个聚类之一。对于每个点,计算到每个中心的距离(这可以是欧几里德距离,或任何其他距离度量)。每个点都被移动到距离最近的中心的簇中。 IE。如果点 i 最接近中心 j,则无论 i 在哪个簇点,它都会移动到簇 j。跟踪是否有任何点移动到新的簇。这将用作步骤 3 中停止条件的一部分。

第 3 步:在所有点都移动到距离它们最近的簇后,通过对每个簇中的所有点进行平均来重新计算中心。然后,返回 2 并重复,直到没有点改变它们所在的簇。

关于algorithm - 在 Z 分数归一化数据上应用 K 均值聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29736920/

相关文章:

arrays - 面试 - 为每个数组的元素找到更大的元素

algorithm - 洪水填充空间复杂度

javascript - 如何将详细信息 View 中的文本框 ID 传递给 JavaScript

c++ - Qtabwidget Tab在运行时重命名

data-mining - 协同过滤 : Ways to determine implicit scores for products for each user?

algorithm - 将一个大数除以 2

java - 大 map 寻路

machine-learning - 多维异构空间上的K-Means聚类

R 随机森林变量重要性

algorithm - 在稀疏图上执行 Kruskal 算法的最佳数据结构?