采样器#
采样器组件。
包内容#
目录#
- class evalml.pipelines.components.transformers.samplers.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。
属性
hyperparameter_ranges
无
modifies_features
True
modifies_target
True
name
过采样器
training_only
True
方法
使用相同的参数和随机状态构造新组件。
返回此组件的默认参数。
描述组件及其参数。
将过采样器拟合到数据。
使用采样器组件拟合和转换数据。
从文件路径加载组件。
返回布尔值,确定在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过对数据进行过采样来转换输入数据。
更新组件的参数字典。
- 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。
- class evalml.pipelines.components.transformers.samplers.Undersampler(sampling_ratio=0.25, sampling_ratio_dict=None, min_samples=100, min_percentage=0.1, random_seed=0, **kwargs)[source]#
初始化一个欠采样转换器,用于对数据集中的多数类进行欠采样。
此组件仅在训练期间运行,不在预测期间运行。
- 参数
sampling_ratio (float) – 被接受为“平衡”的最小少数类:多数类比例。例如,1:4 的比例表示为 0.25,而 1:1 的比例表示为 1.0。必须在 0 到 1 之间(包含)。默认为 0.25。
sampling_ratio_dict (dict) – 一个字典,指定每个目标值的所需平衡比例。例如,在二元分类中,如果类别 1 是少数类,我们可以指定:sampling_ratio_dict={0: 0.5, 1: 1},这意味着我们将欠采样类别 0,使其样本数量是类别 1 的两倍(少数类:多数类 比例 = 0.5),并且不采样类别 1。如果提供,则覆盖 sampling_ratio。默认为 None。
min_samples (int) – 任何类别在采样前或采样后必须具有的最小样本数量。如果一个类别必须被降采样,它不会被降采样到低于此值。为了确定严重不平衡,少数类的出现频率必须低于此值,并且类别比例必须低于 min_percentage。必须大于 0。默认为 100。
min_percentage (float) – 我们容忍的最小类占总数据集的最小百分比,前提是它高于 min_samples。如果 min_percentage 和 min_samples 未满足,则将其视为严重不平衡,我们将不重新采样数据。必须在 0 到 0.5 之间(包含)。默认为 0.1。
random_seed (int) – 用于随机采样的种子。默认为 0。
- 抛出
ValueError – 如果 sampling_ratio 不在 (0, 1] 范围内。
ValueError – 如果 min_sample 不大于 0。
ValueError – 如果 min_percentage 不在 0 到 0.5 之间(包含)。
属性
hyperparameter_ranges
{}
modifies_features
True
modifies_target
True
name
欠采样器
training_only
True
方法
使用相同的参数和随机状态构造新组件。
返回此组件的默认参数。
描述组件及其参数。
将采样器拟合到数据。
此采样器的重采样技术。
使用采样器组件拟合和转换数据。
从文件路径加载组件。
返回布尔值,确定在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过对数据进行采样来转换输入数据。
更新组件的参数字典。
- 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)#
将采样器拟合到数据。
- 参数
X (pd.DataFrame) – 输入特征。
y (pd.Series) – 目标。
- 返回
self
- 抛出
ValueError – 如果 y 为 None。
- fit_resample(self, X, y)[source]#
此采样器的重采样技术。
- 参数
X (pd.DataFrame) – 用于拟合和重采样的训练数据。
y (pd.Series) – 用于拟合和重采样的训练数据目标。
- 返回
保留用于训练数据的索引。
- 返回类型
list
- 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。