我一直致力于了解如何将k-means聚类应用于公司列表的一组小数据。
给出了平均值和标准差,这样我就可以确定标准化数据。
例如,我有以下内容:
根据我对k均值聚类的理解,我必须随机找到质心,其中k=3。我必须不断调整质心的位置,直到不可能再移动,也就是说,在达到某个结果后,数据保持不变。
我很难将这些程序应用于我的数据集。我观察并寻找了许多关于如何一步一步地完成这项工作的例子,但我没有任何成功能让我理解。
基本上,我要做的是在每一次中心调整时显示一个散点图。
我认为我必须使用欧几里德距离算法计算两个数据项之间的距离,但这是否意味着z-score销售和z-score燃料之间的距离,或者什么?这就是为什么我迷路了,即使我已经阅读了十几个powerpoints并观看了多个视频。
这似乎是我遇到的最好的例子,但即便如此,我还是有点迷茫,因为我的例子与介绍的例子略有不同: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)
请记住,每个单元格都表示包含数据的位置。
在这种情况下,我的单元格列在下面的图像中:http://i.imgur.com/W44km64.png
这给了我下表:http://i.imgur.com/miTiVj5.png
最佳答案
你说得对。就我个人而言,我认为你的数据只是二维的(x,y)销售和燃料成本…虽然你可以使用所有4个,只有4D点代替。
步骤1:选择随机中心(其中3个是C_1、C_2、C_3),或者将数据分成3个随机簇。如果将数据随机分成3个簇,则计算每个簇中所有点的平均值。这三种手段成为三个中心。(这里的意思是,我指的是每个坐标的平均值…把它们看作向量,然后取向量的平均值。)
步骤2:每个中心代表三个集群中的一个对于每个点,计算到每个中心的距离(这可以是欧几里德距离,或任何其他距离度量)。每个点都将移动到中心最近的簇中。也就是说,如果点I离中心j最近,那么不管我在哪个簇点,它都会移动到簇j。跟踪任何点是否移动到新簇这是步骤3中停车条件的一部分。
步骤3:所有点移动到离它们最近的簇后,通过平均每个簇中的所有点来重新计算中心。然后,返回到2并重复,直到没有点更改它们所在的簇。
关于algorithm - 在Z分数归一化数据上应用K均值聚类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29736920/