2017-07-24 154 views
-2

我正在尝试使用Matlab学习k均值聚类算法。问题是我找不到任何示例数据,它会使它更容易理解算法。 但是,我在mathworks上找到了一个指定k-均值聚类的例子。但不幸的是,我无法忍受它。我试图理解这个简单的数据集,我在Stack-overflow上找到。了解K均值聚类

请,我需要一个关于k-means聚类的基本示例,如果我在任何软件(即matlab)上实现它,我将确保我正确应用它。

最后,例如UCI上的所有数据集都太大,我无法确定我的实现是否正确。

在此先感谢。

+0

生成自己的数据有什么问题? [这个例子](https://www.mathworks.com/help/stats/kmeans.html#buefthh-2)似乎非常有用。究竟是什么部分kmeans你发现混淆? – beaker

回答

0

我们已经得到了一组数据,任何人都会说这些数据属于三个集群。我们知道集群编号为3,但除此之外,我们希望软件为我们完成集群。

因此,从三个对象中随机分配三个对象开始。现在通过,并将每个对象分配到最近的群集。结果是三个集群,但相当丑陋,因为我们不太可能第一次触及三个实际质心。

因此,取出您生成的每个群集的平均值,并再次通过,将这些对象分配给新的群集质心。重复,直到算法达到稳定。采取平均值的过程往往会迫使对集中心的猜测朝向实际中心。

但是,它只适用于数据实际上是聚集的。

0

我知道您使用的是MatLab,但R有大量数据集用于测试聚类算法,包括一些相当小的数据集。 ruspini数据集是开始的好地方。这些数据集可以从github以csv文件形式获得,MatLab应该能够读取csv文件。只需在此页面搜索单词群集。

0

非常经典的虹膜数据对于理解k-means是可以的。

甚至可以看到k-means的一些问题。