过采样器#

SMOTE 过采样器组件。将根据组件的输入自动选择使用 SMOTE、SMOTEN 或 SMOTENC。

模块内容#

类摘要#

Oversampler

SMOTE 过采样器组件。将根据组件的输入自动选择使用 SMOTE、SMOTEN 或 SMOTENC。

目录#

class evalml.pipelines.components.transformers.samplers.oversampler.Oversampler(sampling_ratio=0.25, sampling_ratio_dict=None, k_neighbors_default=5, n_jobs=-1, random_seed=0, **kwargs)[source]#

SMOTE 过采样器组件。将根据组件的输入自动选择使用 SMOTE、SMOTEN 或 SMOTENC。

参数
  • sampling_ratio (float) – 这是少数类与多数类之间的目标比例,范围为 (0, 1]。值为 0.25 意味着我们希望过采样后少数类与多数类之间的比例为 1:4。我们将使用此比例创建采样字典,其中键对应于类别,值对应于样本数量。默认为 0.25。

  • sampling_ratio_dict (dict) – 一个字典,指定每个目标值的所需平衡比例。例如,在二分类情况下,如果类别 1 是少数类,我们可以指定:sampling_ratio_dict={0: 0.5, 1: 1},这意味着我们将对类别 0 进行欠采样,使其样本数量是类别 1 的两倍(少数类与多数类比例 = 0.5),并且不对类别 1 进行采样。如果提供,此参数将覆盖 sampling_ratio。默认为 None。

  • k_neighbors_default (int) – 用于构建合成样本的最近邻数量。这是使用的默认值,但如果样本数量较少,实际的 k_neighbors 值可能会更小。默认为 5。

  • n_jobs (int) – 要使用的 CPU 核心数量。默认为 -1。

  • random_seed (int) – 用于随机采样的种子。默认为 0。

属性

超参数范围

修改特征

True

修改目标

True

名称

Oversampler

仅用于训练

True

方法

clone

使用相同的参数和随机状态构造一个新组件。

default_parameters

返回此组件的默认参数。

describe

描述一个组件及其参数。

fit

将过采样器拟合到数据。

fit_transform

使用采样器组件拟合并转换数据。

load

从文件路径加载组件。

needs_fitting

返回一个布尔值,指示组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。

parameters

返回用于初始化组件的参数。

save

将组件保存到文件路径。

transform

通过对数据进行过采样来转换输入数据。

update_parameters

更新组件的参数字典。

clone(self)#

使用相同的参数和随机状态构造一个新组件。

返回

此组件的新实例,具有相同的参数和随机状态。

default_parameters(cls)#

返回此组件的默认参数。

我们的约定是 Component.default_parameters == Component().parameters。

返回

此组件的默认参数。

返回类型

dict

describe(self, print_name=False, return_dict=False)#

描述一个组件及其参数。

参数
  • print_name (bool, optional) – 是否打印组件名称

  • return_dict (bool, optional) – 是否以字典格式 {“name”: name, “parameters”: parameters} 返回描述

返回

如果 return_dict 为 True,则返回字典,否则返回 None。

返回类型

None 或 dict

fit(self, X, y)[source]#

将过采样器拟合到数据。

参数
  • X (pd.DataFrame) – 输入的训练数据,形状为 [n_samples, n_features]。

  • y (pd.Series, optional) – 目标的训练数据,长度为 [n_samples]。

返回

self

fit_transform(self, X, y)#

使用采样器组件拟合并转换数据。

参数
  • X (pd.DataFrame) – 输入的训练数据,形状为 [n_samples, n_features]。

  • y (pd.Series, optional) – 目标的训练数据,长度为 [n_samples]。

返回

转换后的数据。

返回类型

(pd.DataFrame, pd.Series)

static load(file_path)#

从文件路径加载组件。

参数

file_path (str) – 文件加载位置。

返回

ComponentBase 对象

needs_fitting(self)#

返回一个布尔值,指示组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。

对于不需要拟合或其拟合方法不执行任何操作的组件,可以将其覆盖为 False。

返回

True。

property parameters(self)#

返回用于初始化组件的参数。

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 文件保存位置。

  • pickle_protocol (int) – pickle 数据流格式。

transform(self, X, y=None)[source]#

通过对数据进行过采样来转换输入数据。

参数
  • X (pd.DataFrame) – 训练特征。

  • y (pd.Series) – 目标。

返回

转换后的特征和目标。

返回类型

pd.DataFrame, pd.Series

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, optional) – 如果为 True,将设置 _is_fitted 为 False。