check_sampling_strategy#
- imblearn.utils.check_sampling_strategy(sampling_strategy, y, sampling_type, **kwargs)[source]#
采样器的采样目标验证。
检查
sampling_strategy
的类型是否一致,并返回一个包含每个目标类及其对应样本数量的字典。它用于BaseSampler
。- Parameters:
- sampling_strategyfloat, str, dict, list or callable,
采样信息以对数据集进行采样。
当
float
时:对于欠采样方法,它对应于由\(\alpha_{us}\)定义的比率,其中\(N_{rM} = \alpha_{us} \times N_{m}\),\(N_{rM}\)和\(N_{m}\)分别是重采样后多数类中的样本数量和少数类中的样本数量。
对于过采样方法,它对应于由\(\alpha_{os}\)定义的比率 \(N_{rm} = \alpha_{os} \times N_{m}\),其中\(N_{rm}\)和\(N_{M}\)分别是 重采样后少数类中的样本数量和多数类中的样本数量。
警告
float
仅适用于二元分类。对于多类分类和使用清理采样器的情况,会引发错误。当
str
时,指定重采样所针对的类别。对于欠采样和过采样方法,不同类别中的样本数量将被均衡。对于清理方法,样本数量将不会均衡。可能的选择有:'minority'
: 仅对少数类进行重采样;'majority'
: 仅对多数类进行重采样;'not minority'
: 对除少数类之外的所有类进行重采样;'not majority'
: 重新采样除多数类之外的所有类;'all'
: 对所有类别进行重采样;'auto'
: 对于欠采样方法,等同于'not minority'
,对于过采样方法,等同于'not majority'
。当
dict
时,键对应于目标类别。值对应于每个目标类别所需的样本数量。警告
dict
可用于欠采样和过采样方法。对于清理方法会引发错误。请使用list
代替。当
list
时,列表包含目标类。它仅用于清理方法。警告
list
可用于清理方法。使用欠采样和过采样方法时会引发错误。当可调用时,函数接受
y
并返回一个dict
。键对应于目标类别。值对应于每个类别所需的样本数量。
- yndarray of shape (n_samples,)
目标数组。
- sampling_type{{‘over-sampling’, ‘under-sampling’, ‘clean-sampling’}}
采样的类型。可以是
'over-sampling'
,'under-sampling'
,或'clean-sampling'
。- **kwargsdict
传递给
sampling_strategy
的额外关键字参数字典,当这是一个可调用对象时。
- Returns:
- sampling_strategy_converteddict
转换并验证后的采样目标。返回一个字典,其中键是类目标,值是所需的样本数量。