【问题标题】:How to generate bivariate data of different shapes (e.g., square, circle, rectangle) with outliers?如何生成具有异常值的不同形状(例如正方形、圆形、矩形)的双变量数据?
【发布时间】:2011-06-10 23:21:27
【问题描述】:

我目前正在寻找一些工具,可以生成不同形状的数据集,如正方形、圆形、矩形等,并带有异常值以进行聚类分析。

你们中的任何人都可以推荐一个好的数据集生成器来进行聚类分析吗? 有没有用 R 之类的语言生成这样的数据集?

【问题讨论】:

    标签: r dataset cluster-analysis data-generation


    【解决方案1】:

    ELKI 中有一个灵活的数据生成器,可以生成任意维度的各种分布。例如,它还可以生成 Gamma 分布变量。

    Wiki 上有文档:http://elki.dbs.ifi.lmu.de/wiki/DataSetGenerator

    【讨论】:

      【解决方案2】:

      您可能应该查看mlbench 包,尤其是从mlbench.* 函数生成的合成数据集,请参阅下面的一些示例。

      其他数据集或实用功能可能最好在 CRAN 上的 Cluster 任务视图中找到。正如@Roman 所说,添加异常值并不难,尤其是当您仅在二维中工作时。

      【讨论】:

        【解决方案3】:

        我会创建一个形状并提取边界坐标。您可以使用splancs 包用随机点填充形状。

        这是我的一个程序中的一个小sn-p:

        # 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)
        

        随意添加异常值。解决此问题的一种方法是对不同的形状进行采样并以不同的方式连接它们。

        【讨论】:

        • 非常感谢 :-)) 帮助很大:-))
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        • 2012-04-21
        • 2014-09-07
        • 1970-01-01
        相关资源
        最近更新 更多