【问题标题】:Equal - depth binning- whether it is just grouping data into k groupsEqual - depth binning - 是否只是将数据分组到 k 组
【发布时间】:2015-12-14 10:07:07
【问题描述】:

等深或等频分箱的一个小困惑

等深分箱表示 - 它将范围划分为 N 个区间,每个区间包含大致相同数量的样本

让我们获取一小部分虹膜数据

5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa

如果我需要对我的第一列进行装箱,结果会是什么? 无论是只是对数据进行分组,还是包含一些计算,例如等宽分箱。

如果要分箱的元素数量是奇数,会发生什么情况。我将如何平等地分箱?

【问题讨论】:

    标签: data-mining binning


    【解决方案1】:

    就像@Anony-Mousse 提到的那样,并不总是能够完全在一个 bin 中获得相同数量的样本,大约才是我们想要的。

    我将带您了解unique(N)/bins > 0 的情况,其中N 表示要分箱 的数组中的值。假设

    N = [1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] bins = 4

    在这里,length(N) = 20length(unique(N)) = 6,生成 unique(N)/bins = 1.5 > 0。这意味着每个 bin 将大约有 1.5 个样本。所以你将把1放在bin1中,把0.5个残差带到下一个bin,使那个bin中的元素数量为1.5 + 0.5 = 2,所以23将是在 bin2 中。推断这个逻辑,最终的 bin 将具有以下拆分。 [1], [2,3], [4], [5,6] 当然 1 重复 6 次,6 重复 10 次。 我不希望 ties 放在单独的垃圾箱中,这通常是拥有垃圾箱的关键(将值分组彼此接近)。

    对于unique(N)/bins < 0 的情况,可以应用相同的逻辑。希望这能回答你的问题。

    【讨论】:

      【解决方案2】:

      有时您无法制作完全相同大小的垃圾箱。

      例如,如果您的数据是

      1,1,1,2,99
      

      而你想要 4 个 bin,那么最直观的结果应该是

      [1,1,1], [2], [], [99]
      

      大多数工具都会产生以下答案之一:

      [1,1,1], [], [2], [99]
      [1,1], [1], [2], [99]
      [1], [1], [1], [2,99]
      

      没有一个在每个 bin 中正好有 1.25 个元素。最后两个解决方案最接近,但也是最不直观的。这就是为什么一个人只要求“大约相同的数字”。有时,没有好的解决方案恰好具有这种频率。

      【讨论】:

      • 假设我有 4 个垃圾箱。从您提到的答案来看,数据是这样的“[1,1,1],[2],[],[99]”,那么我们如何将元素放入这些垃圾箱中?有什么方程式吗?
      • 好的。如果我有 8 个元素要分箱到 4 个箱中。然后我需要对数据进行排序并删除元素。不是吗?例如:4,2,1,8,0,9,5,5 排序--> 0,1,2,4,5,5,8,9 ;所以垃圾箱就像 [0,1] [2,4] [5,5] [8,9] 。对吗?
      • 分位数分箱是一种方法,但在处理 ties 的方式上仍然会有所不同。解决方案 [0,1,2][4,5,5][][8,9] 也同样好,只是使用了不同的逻辑。
      猜你喜欢
      • 2011-07-10
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      相关资源
      最近更新 更多