偏向统一 class weka resample 过滤器

Bias to uniform class weka resample filter

我正在做一个数据科学项目。我的数据集是一个不平衡的数据集。我将 Weka 用于 class 化目的。

数据集有 1273 个实例。其中yesclass个实例为174个,Noclass个实例为1099个。因此,数据集偏向于noclass.

我正在使用重采样过滤器来保持是 class 和否 class 之间的比率。我在下面分享一个结果。

我为查看各种 yes: no 比率而调整的参数是 bias to uniform class。根据 weka 的文档,术语 bias to uniform class 的定义是 Whether to use bias towards a uniform class. A value of 0 leaves the class distribution as-is, a value of 1 ensures the class distribution is uniform in the output data.

Result:

experiment result   bias to uniform ratio     yes    no   imbalance ratio
   1.                 0.5                     405    867  1:2
   2.                 0.75                    520    752  1:1.44
   3.                 0.25                    289    983  1:3.4
   4.                 1.0                     636    636  1:1

如果我添加所有是和否的实例,它将 return 1272

 405+867=1272
 520+752=1272
 289+983=1272
 636+636=1272

我观察到更多关于数据的特征,例如,

如果我从原来的是和否class中减去实验1是和否class,我得到1099-867=232和405-174 = 231。所以减法的结果是相似的。

如果我从原来的是和否 class 中减去实验 2 是和否 class,我得到 1099-752 = 347 和 520-174= 346,它们再次相似,依此类推。

我无法找出 bias to uniform class 的各种值与类似的减法结果之间的关系。

我观察到的另一件事是,如果我将 bias to uniform class 的值从 0 更改为 1.5 No class 的实例少于 yes class。我想说的是

           bias to uniform class  yes  no      
 Experiment 5  1.5                867  405

你可以看到这里有 class 个实例比没有 class 个实例多。似乎实例偏向是 class.

所以我相信我无法真正理解bias to uniform class的意思。

如果有人解释清楚,对我的项目会有帮助。

我在 Whosebug 上找到 this 的一个解释,这不是我的答案。

我不太清楚为什么您对过滤器的输出有疑问。也许以下内容会让您明白过滤器的功能。

这是您的数据,table,稍微重新排列:

experiment result   bias to uniform ratio     yes    no   imbalance ratio
   0.                 0.0                     174   1099  1:6.3
   3.                 0.25                    289    983  1:3.4
   1.                 0.5                     405    867  1:2
   2.                 0.75                    520    752  1:1.44
   4.                 1.0                     636    636  1:1
   5.                 1.5                     867    405  1:0.47

注意: 实验 0 只是您的原始数据,我在更改 bias to uniform class (distribution) 参数时添加了它以使其更清晰。

这个偏差参数简单意味着输出数据中的 class 分布在多大程度上倾向于均匀的 class 分布。

根据文档,1.0 为您提供均匀分布 (1:1)。

从上面table可以看出,增加bias参数会降低no标签的比例。一旦该值超过 1.0,它将更加强调另一个 class 标签(即 yes)。

重采样过滤器中的 createSubsample() 方法应用 user-supplied 偏差因子。