我想将一组长尾/类帕累托数据聚集到几个 bin 中(实际上 bin 编号尚未确定)。
有人会推荐哪种算法或模型?
我想将一组长尾/类帕累托数据聚集到几个 bin 中(实际上 bin 编号尚未确定)。
有人会推荐哪种算法或模型?
有几种方法。你可以从第二个开始。
等宽(距离)分区:
它将范围划分为 N 个大小相等的区间:均匀网格
如果 A 和 B 是属性的最小值和最大值,则间隔宽度将为:W = (B-A)/N
.
最直接的 - 异常值可能会主导表示 - 倾斜的数据处理得不好。
等深(频率)分区:
其他方法
Rank
:一个数字的等级是它相对于数值变量的其他值的大小。首先,我们对值列表进行排序,然后将值的位置指定为其排名。相同的值获得相同的排名,但重复值的存在会影响后续值的排名(例如,1、2、3、3、5)。Rank 是一种可靠的分箱方法,有一个主要缺点,不同列表中的值可以具有不同的等级。Quantiles (median, quartiles, percentiles, ...)
:分位数也是非常有用的分箱方法,但与排名一样,如果值列表发生变化,一个值可以有不同的分位数。Math functions
:例如,对数分箱是一种有效的方法,用于具有高度偏态分布的数值变量(例如,收入)。基于熵的分箱
基于熵的方法使用拆分方法。熵(或信息内容)是根据类标签计算的。直观地说,它找到了最好的分割,使 bin 尽可能纯净,即 bin 中的大多数值对应于具有相同的类标签。形式上,它的特点是找到具有最大信息增益的分割。