偏向统一 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 偏差因子。
我正在做一个数据科学项目。我的数据集是一个不平衡的数据集。我将 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 偏差因子。