2013-07-31 124 views
0

我正在研究一种算法,它可以猜测K值是否为kmeans聚类。我想我正在寻找可用作比较的数据集,或者可能是几个数据集,其中簇的数量是“已知的”,所以我可以看到我的算法在猜测时如何进行K.聚类基线比较,KMeans

回答

0

我会首先检查数据集的UCI存储库: http://archive.ics.uci.edu/ml/datasets.html?format=&task=clu&att=&area=&numAtt=&numIns=&type=&sort=nameUp&view=table

我相信那里有一些标签。

但是也有一些经常在报纸作为基线,如20newsgroups使用文本聚类数据集: http://qwone.com/~jason/20Newsgroups/

另一位伟大的方法(一说我的论文的椅子一贯主张)是构建你自己的小示例数据集。最好的办法是从小处着手,尝试一些只有两个或三个变量的图形化表示,然后自己标记这些簇。

一个小的自制数据集的附加好处是,你知道答案,它是非常适合调试。

+0

但自制的,合成数据集不考虑认真对待有关精度/收敛问题 – rano

+0

伟大的信息,谢谢! – user1865047

+0

真的,rano,但是如果你试图找到K的最佳值,那么你真的需要在个案的基础上做到这一点。 – user2077035

0

既然你是专注于k-意味着,你有没有考虑使用各种措施(Silhouette,Davies-Bouldin等)来找到最佳k

实际上,“最优”k可能不是一个好的选择。大多数情况下,人们希望选择更大的k,然后更详细地分析生成的集群/原型,以便从多个k均值分区中构建集群。

+0

我正在研究确定k的低成本手段。我们必须能够处理TB数据,因此它必须快速且可并行化。这些方法看起来像牺牲了性能,有利于提高准确性。 – user1865047

+0

您仍然可以使用它们来验证启发式是否执行正常。另外,实际上,结核病的k-means并没有多大意义。以1%的样本(或更少)运行它,你将得到基本相同的结果。这是统计数据。除非您有偏见,否则更多数据只会更改最后几位数字。如果你的代码不好,你甚至可能会遇到整个数据集的数值问题...... –