我目前正在寻找一些工具,可以生成不同形状的数据集,如正方形、圆形、矩形等,并带有异常值以进行聚类分析。
你们中的任何人都可以推荐一个好的数据集生成器来进行聚类分析吗?反正有没有像 R 这样的语言生成这样的数据集?
我目前正在寻找一些工具,可以生成不同形状的数据集,如正方形、圆形、矩形等,并带有异常值以进行聚类分析。
你们中的任何人都可以推荐一个好的数据集生成器来进行聚类分析吗?反正有没有像 R 这样的语言生成这样的数据集?
您可能应该查看mlbench包,尤其是从函数生成的合成数据集mlbench.*
,请参见下面的一些示例。
其他数据集或实用功能可能最好在 CRAN上的集群任务视图中找到。正如@Roman 所说,添加异常值并不难,尤其是当您仅在二维中工作时。
我会创建一个形状并提取边界坐标。splancs
您可以使用包用随机点填充形状。
这是我的一个程序的一个小片段:
# First we create a circle, into which uniform random points will be generated (kudos to Barry Rowlingson, r-sig-geo).
circle <- function(x = x, y = y, r = radius, n = n.faces){
t <- seq(from = 0, to = 2 * pi, length = n + 1)[-1]
t <- cbind(x = x + r * sin(t), y = y+ r * cos(t))
t <- rbind(t, t[1,])
return(t)
}
csr(circle(0, 0, 100, 30), 1000)
随意添加异常值。解决此问题的一种方法是对不同的形状进行采样并以不同的方式将它们连接起来。
ELKI中有一个灵活的数据生成器,可以生成任意维度的各种分布。例如,它还可以生成 Gamma 分布变量。
Wiki 上有文档:http: //elki.dbs.ifi.lmu.de/wiki/DataSetGenerator