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

转换并验证后的采样目标。返回一个字典,其中键是类目标,值是所需的样本数量。