如何生成';集群式';MATLAB中的数据集

如何生成';集群式';MATLAB中的数据集,matlab,cluster-analysis,Matlab,Cluster Analysis,我需要测试我的差距统计算法(它应该告诉我数据集的最佳k),为了做到这一点,我需要生成一个易于聚类的大数据集,这样我就可以先验地知道最佳聚类数。你知道有什么快速的方法吗?这在很大程度上取决于你想要什么样的数据集-1D、2D、3D、正态分布、稀疏等?“大”有多大?数千、数百万、数十亿次观测 无论如何,我创建易于识别的聚类的一般方法是将具有不同偏移量和排列的随机数序列向量串联起来: DataSet = [5*randn(1000,1);20+3*randn(1,1000);120+25*randn(1

我需要测试我的差距统计算法(它应该告诉我数据集的最佳k),为了做到这一点,我需要生成一个易于聚类的大数据集,这样我就可以先验地知道最佳聚类数。你知道有什么快速的方法吗?

这在很大程度上取决于你想要什么样的数据集-1D、2D、3D、正态分布、稀疏等?“大”有多大?数千、数百万、数十亿次观测

无论如何,我创建易于识别的聚类的一般方法是将具有不同偏移量和排列的随机数序列向量串联起来:

DataSet = [5*randn(1000,1);20+3*randn(1,1000);120+25*randn(1,1000)];
Groups = [1*ones(1000,1);2*ones(1000,1);3*ones(1000,1)];
这可以通过使用例如

randn(1000,5)
或者水平连接

DataSet1 = [5*randn(1000,1);20+3*randn(1,1000);120+25*randn(1,1000)];
DataSet2 = [-100+7*randn(1000,1);1+0.1*randn(1,1000);20+3*randn(1,1000)];
DataSet = [DataSet1 DataSet2];
等等

randn还接受多维输入,如

randn(1000,10,3);
用于查看高维簇

如果您没有关于这将应用于哪种类型的数据集的详细信息,您应该查找这些数据集