feature_selection#
选择特征的组件。
子模块#
包内容#
类摘要#
根据重要性权重选择最重要的特征。 |
|
使用随机森林分类器通过递归特征消除来选择相关特征。 |
|
使用随机森林分类器根据重要性权重选择最重要的特征。 |
|
使用随机森林回归器通过递归特征消除来选择相关特征。 |
|
使用随机森林回归器根据重要性权重选择最重要的特征。 |
内容#
- class evalml.pipelines.components.transformers.feature_selection.FeatureSelector(parameters=None, component_obj=None, random_seed=0, **kwargs)[source]#
根据重要性权重选择最重要的特征。
- 参数
parameters (dict) – 组件的参数字典。默认为 None。
component_obj (obj) – 组件实现中有用的第三方对象。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
modifies_features
真
modifies_target
假
training_only
假
方法
使用相同的参数和随机状态构造一个新的组件。
返回此组件的默认参数。
描述组件及其参数。
将组件拟合到数据。
使用特征选择器拟合和转换数据。
获取所选特征的名称。
从文件路径加载组件。
返回此组件的字符串名称。
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
更新组件的参数字典。
- 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=None)#
将组件拟合到数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]
- 返回值
self
- 引发
MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 方法的 component_obj。
- fit_transform(self, X, y=None)[source]#
使用特征选择器拟合和转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回值
转换后的数据。
- 返回值类型
pd.DataFrame
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回值
ComponentBase 对象
- property name(cls)#
返回此组件的字符串名称。
- needs_fitting(self)#
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
对于不需要拟合或其拟合方法不做任何事情的组件,可以将其覆盖为 False。
- 返回值
真。
- 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]#
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
- 参数
X (pd.DataFrame) – 要转换的数据。
y (pd.Series, optional) – 目标数据。忽略。
- 返回值
转换后的 X
- 返回值类型
pd.DataFrame
- 引发
MethodPropertyNotFoundError – 如果特征选择器没有 transform 方法或实现 transform 方法的 component_obj
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,则会将 _is_fitted 设置为 False。
- class evalml.pipelines.components.transformers.feature_selection.RFClassifierRFESelector(step=0.2, min_features_to_select=1, cv=None, scoring=None, n_jobs=-1, n_estimators=10, max_depth=None, random_seed=0, **kwargs)[source]#
使用随机森林分类器通过递归特征消除来选择相关特征。
- 参数
step (int, float) – 每次迭代要消除的特征数量。如果指定为整数,则表示要消除的特征数量。如果指定为浮点数,则表示每次迭代要消除的特征百分比。最后一次迭代可能会删除少于此数量的特征,以满足 min_features_to_select 约束。默认为 0.2。
min_features_to_select (int) – 要返回的最小特征数量。默认为 1。
cv (int or None) – 用于交叉验证拆分策略的折叠数。默认为 None,此时将使用 5 折。
scoring (str, callable or None) – 用于指定评分方法的字符串或评分可调用对象。
n_jobs (int or None) – 并行运行的任务数。-1 表示使用所有进程。默认为 -1。
n_estimators (int) – 森林中的树木数量。默认为 10。
max_depth (int) – 基础学习器的最大树深度。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{ “step”: Real(0.05, 0.25)}
modifies_features
真
modifies_target
假
name
带有 RF 分类器的 RFE 选择器
training_only
假
方法
使用相同的参数和随机状态构造一个新的组件。
返回此组件的默认参数。
描述组件及其参数。
将组件拟合到数据。
使用特征选择器拟合和转换数据。
获取所选特征的名称。
从文件路径加载组件。
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
更新组件的参数字典。
- 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=None)#
将组件拟合到数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]
- 返回值
self
- 引发
MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 方法的 component_obj。
- fit_transform(self, X, y=None)#
使用特征选择器拟合和转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回值
转换后的数据。
- 返回值类型
pd.DataFrame
- get_names(self)#
获取所选特征的名称。
- 返回值
所选特征名称的列表。
- 返回值类型
list[str]
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回值
ComponentBase 对象
- needs_fitting(self)#
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
对于不需要拟合或其拟合方法不做任何事情的组件,可以将其覆盖为 False。
- 返回值
真。
- property parameters(self)#
返回用于初始化组件的参数。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将组件保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- transform(self, X, y=None)#
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
- 参数
X (pd.DataFrame) – 要转换的数据。
y (pd.Series, optional) – 目标数据。忽略。
- 返回值
转换后的 X
- 返回值类型
pd.DataFrame
- 引发
MethodPropertyNotFoundError – 如果特征选择器没有 transform 方法或实现 transform 方法的 component_obj
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,则会将 _is_fitted 设置为 False。
- class evalml.pipelines.components.transformers.feature_selection.RFClassifierSelectFromModel(number_features=None, n_estimators=10, max_depth=None, percent_features=0.5, threshold='median', n_jobs=-1, random_seed=0, **kwargs)[source]#
使用随机森林分类器根据重要性权重选择最重要的特征。
- 参数
number_features (int) – 要选择的最大特征数量。如果同时指定了 percent_features 和 number_features,则取两者中较大的特征数量。默认为 None。
n_estimators (int) – 森林中的树木数量。默认为 10。
max_depth (int) – 基础学习器的最大树深度。默认为 None。
percent_features (float) – 要使用的特征百分比。如果同时指定了 percent_features 和 number_features,则取两者中较大的特征数量。默认为 0.5。
threshold (string or float) – 用于特征选择的阈值。重要性大于或等于此阈值的特征被保留,而其他特征则被丢弃。如果为 “median”,则阈值是特征重要性的中位数。也可以使用缩放因子(例如,“1.25*mean”)。默认为 median。
n_jobs (int or None) – 并行运行的任务数。-1 表示使用所有进程。默认为 -1。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{ “percent_features”: Real(0.01, 1), “threshold”: [“mean”, “median”],}
modifies_features
真
modifies_target
假
name
基于 RF 分类器的 Select From Model
training_only
假
方法
使用相同的参数和随机状态构造一个新的组件。
返回此组件的默认参数。
描述组件及其参数。
将组件拟合到数据。
使用特征选择器拟合和转换数据。
获取所选特征的名称。
从文件路径加载组件。
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
更新组件的参数字典。
- 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=None)#
将组件拟合到数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]
- 返回值
self
- 引发
MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 方法的 component_obj。
- fit_transform(self, X, y=None)#
使用特征选择器拟合和转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回值
转换后的数据。
- 返回值类型
pd.DataFrame
- get_names(self)#
获取所选特征的名称。
- 返回值
所选特征名称的列表。
- 返回值类型
list[str]
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回值
ComponentBase 对象
- needs_fitting(self)#
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
对于不需要拟合或其拟合方法不做任何事情的组件,可以将其覆盖为 False。
- 返回值
真。
- property parameters(self)#
返回用于初始化组件的参数。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将组件保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- transform(self, X, y=None)#
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
- 参数
X (pd.DataFrame) – 要转换的数据。
y (pd.Series, optional) – 目标数据。忽略。
- 返回值
转换后的 X
- 返回值类型
pd.DataFrame
- 引发
MethodPropertyNotFoundError – 如果特征选择器没有 transform 方法或实现 transform 方法的 component_obj
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,则会将 _is_fitted 设置为 False。
- class evalml.pipelines.components.transformers.feature_selection.RFRegressorRFESelector(step=0.2, min_features_to_select=1, cv=None, scoring=None, n_jobs=-1, n_estimators=10, max_depth=None, random_seed=0, **kwargs)[source]#
使用随机森林回归器通过递归特征消除来选择相关特征。
- 参数
step (int, float) – 每次迭代要消除的特征数量。如果指定为整数,则表示要消除的特征数量。如果指定为浮点数,则表示每次迭代要消除的特征百分比。最后一次迭代可能会删除少于此数量的特征,以满足 min_features_to_select 约束。默认为 0.2。
min_features_to_select (int) – 要返回的最小特征数量。默认为 1。
cv (int or None) – 用于交叉验证拆分策略的折叠数。默认为 None,此时将使用 5 折。
scoring (str, callable or None) – 用于指定评分方法的字符串或评分可调用对象。
n_jobs (int or None) – 并行运行的任务数。-1 表示使用所有进程。默认为 -1。
n_estimators (int) – 森林中的树木数量。默认为 10。
max_depth (int) – 基础学习器的最大树深度。默认为 None。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{ “step”: Real(0.05, 0.25)}
modifies_features
真
modifies_target
假
name
带有 RF 回归器的 RFE 选择器
training_only
假
方法
使用相同的参数和随机状态构造一个新的组件。
返回此组件的默认参数。
描述组件及其参数。
将组件拟合到数据。
使用特征选择器拟合和转换数据。
获取所选特征的名称。
从文件路径加载组件。
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
更新组件的参数字典。
- 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=None)#
将组件拟合到数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]
- 返回值
self
- 引发
MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 方法的 component_obj。
- fit_transform(self, X, y=None)#
使用特征选择器拟合和转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回值
转换后的数据。
- 返回值类型
pd.DataFrame
- get_names(self)#
获取所选特征的名称。
- 返回值
所选特征名称的列表。
- 返回值类型
list[str]
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回值
ComponentBase 对象
- needs_fitting(self)#
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
对于不需要拟合或其拟合方法不做任何事情的组件,可以将其覆盖为 False。
- 返回值
真。
- property parameters(self)#
返回用于初始化组件的参数。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将组件保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- transform(self, X, y=None)#
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
- 参数
X (pd.DataFrame) – 要转换的数据。
y (pd.Series, optional) – 目标数据。忽略。
- 返回值
转换后的 X
- 返回值类型
pd.DataFrame
- 引发
MethodPropertyNotFoundError – 如果特征选择器没有 transform 方法或实现 transform 方法的 component_obj
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,则会将 _is_fitted 设置为 False。
- class evalml.pipelines.components.transformers.feature_selection.RFRegressorSelectFromModel(number_features=None, n_estimators=10, max_depth=None, percent_features=0.5, threshold='median', n_jobs=-1, random_seed=0, **kwargs)[source]#
使用随机森林回归器根据重要性权重选择最重要的特征。
- 参数
number_features (int) – 要选择的最大特征数量。如果同时指定了 percent_features 和 number_features,则取两者中较大的特征数量。默认为 0.5。
n_estimators (int) – 森林中的树木数量。默认为 10。
max_depth (int) – 基础学习器的最大树深度。默认为 None。
percent_features (float) – 要使用的特征百分比。如果同时指定了 percent_features 和 number_features,则取两者中较大的特征数量。默认为 0.5。
threshold (string or float) – 用于特征选择的阈值。重要性大于或等于此阈值的特征被保留,而其他特征则被丢弃。如果为 “median”,则阈值是特征重要性的中位数。也可以使用缩放因子(例如,“1.25*mean”)。默认为 median。
n_jobs (int or None) – 并行运行的任务数。-1 表示使用所有进程。默认为 -1。
random_seed (int) – 随机数生成器的种子。默认为 0。
属性
hyperparameter_ranges
{ “percent_features”: Real(0.01, 1), “threshold”: [“mean”, “median”],}
modifies_features
真
modifies_target
假
name
基于 RF 回归器的 Select From Model
training_only
假
方法
使用相同的参数和随机状态构造一个新的组件。
返回此组件的默认参数。
描述组件及其参数。
将组件拟合到数据。
使用特征选择器拟合和转换数据。
获取所选特征的名称。
从文件路径加载组件。
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
返回用于初始化组件的参数。
将组件保存到文件路径。
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
更新组件的参数字典。
- 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=None)#
将组件拟合到数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]
- 返回值
self
- 引发
MethodPropertyNotFoundError – 如果组件没有 fit 方法或实现 fit 方法的 component_obj。
- fit_transform(self, X, y=None)#
使用特征选择器拟合和转换数据。
- 参数
X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。
y (pd.Series, optional) – 目标训练数据,长度为 [n_samples]。
- 返回值
转换后的数据。
- 返回值类型
pd.DataFrame
- get_names(self)#
获取所选特征的名称。
- 返回值
所选特征名称的列表。
- 返回值类型
list[str]
- static load(file_path)#
从文件路径加载组件。
- 参数
file_path (str) – 加载文件的位置。
- 返回值
ComponentBase 对象
- needs_fitting(self)#
返回一个布尔值,判断在调用 predict、predict_proba、transform 或 feature_importances 之前组件是否需要拟合。
对于不需要拟合或其拟合方法不做任何事情的组件,可以将其覆盖为 False。
- 返回值
真。
- property parameters(self)#
返回用于初始化组件的参数。
- save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#
将组件保存到文件路径。
- 参数
file_path (str) – 保存文件的位置。
pickle_protocol (int) – pickle 数据流格式。
- transform(self, X, y=None)#
通过选择特征转换输入数据。如果 component_obj 没有 transform 方法,将引发 MethodPropertyNotFoundError 异常。
- 参数
X (pd.DataFrame) – 要转换的数据。
y (pd.Series, optional) – 目标数据。忽略。
- 返回值
转换后的 X
- 返回值类型
pd.DataFrame
- 引发
MethodPropertyNotFoundError – 如果特征选择器没有 transform 方法或实现 transform 方法的 component_obj
- update_parameters(self, update_dict, reset_fit=True)#
更新组件的参数字典。
- 参数
update_dict (dict) – 要更新的参数字典。
reset_fit (bool, optional) – 如果为 True,则会将 _is_fitted 设置为 False。