elasticnet_classifier#

Elastic Net 分类器。使用带有 elasticnet 惩罚的逻辑回归作为基础估计器。

模块内容#

类摘要#

ElasticNetClassifier

Elastic Net 分类器。使用带有 elasticnet 惩罚的逻辑回归作为基础估计器。

内容#

class evalml.pipelines.components.estimators.classifiers.elasticnet_classifier.ElasticNetClassifier(penalty='elasticnet', C=1.0, l1_ratio=0.15, multi_class='auto', solver='saga', n_jobs=-1, random_seed=0, **kwargs)[source]#

Elastic Net 分类器。使用带有 elasticnet 惩罚的逻辑回归作为基础估计器。

参数
  • penalty ({"l1", "l2", "elasticnet", "none"}) – 用于惩罚的范数。默认为 “elasticnet”。

  • C (float) – 正则化强度的倒数。必须是正浮点数。默认为 1.0。

  • l1_ratio (float) – 混合参数,范围在 0 <= l1_ratio <= 1 之间。仅在 penalty=’elasticnet’ 时使用。设置 l1_ratio=0 等同于使用 penalty=’l2’,而设置 l1_ratio=1 等同于使用 penalty=’l1’。对于 0 < l1_ratio < 1,惩罚是 L1 和 L2 的组合。默认为 0.15。

  • multi_class ({"auto", "ovr", "multinomial"}) – 如果选择 “ovr” 选项,则为每个标签拟合一个二元问题。对于 “multinomial”,最小化的损失是跨整个概率分布拟合的多项式损失,即使数据是二元的。当 solver=”liblinear” 时,“multinomial” 不可用。“auto” 会在数据是二元或 solver=”liblinear” 时选择 “ovr”,否则选择 “multinomial”。默认为 “auto”。

  • solver ({"newton-cg", "lbfgs", "liblinear", "sag", "saga"}) –

    优化问题中使用的算法。对于小型数据集,“liblinear” 是一个不错的选择,而 “sag” 和 “saga” 对于大型数据集更快。对于多分类问题,只有 “newton-cg”、“sag”、“saga” 和 “lbfgs” 支持多项式损失;“liblinear” 仅限于一对多方案。

    • “newton-cg”、“lbfgs”、“sag” 和 “saga” 支持 L2 或无惩罚

    • “liblinear” 和 “saga” 也支持 L1 惩罚

    • “saga” 也支持 “elasticnet” 惩罚

    • “liblinear” 不支持设置 penalty=’none’

    默认为 “saga”。

  • n_jobs (int) – 用于运行 xgboost 的并行线程数。请注意,创建线程争用会显著降低算法速度。默认为 -1。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

属性

hyperparameter_ranges

{ “C”: Real(0.01, 10), “l1_ratio”: Real(0, 1)}

model_family

ModelFamily.LINEAR_MODEL

modifies_features

True

modifies_target

False

name

Elastic Net 分类器

supported_problem_types

[ ProblemTypes.BINARY, ProblemTypes.MULTICLASS, ProblemTypes.TIME_SERIES_BINARY, ProblemTypes.TIME_SERIES_MULTICLASS,]

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述一个组件及其参数。

feature_importance

拟合的 ElasticNet 分类器的特征重要性。

fit

将 ElasticNet 分类器组件拟合到数据。

get_prediction_intervals

使用拟合的回归器查找预测区间。

load

从文件路径加载组件。

needs_fitting

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

parameters

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

predict

使用选定的特征进行预测。

predict_proba

生成标签的概率估计。

save

将组件保存到文件路径。

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 or dict

property feature_importance(self)#

拟合的 ElasticNet 分类器的特征重要性。

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

将 ElasticNet 分类器组件拟合到数据。

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

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

返回

self

get_prediction_intervals(self, X: pandas.DataFrame, y: Optional[pandas.Series] = None, coverage: List[float] = None, predictions: pandas.Series = None) Dict[str, pandas.Series]#

使用拟合的回归器查找预测区间。

此函数接受拟合估计器的预测,并使用窗口大小为 5 计算所有预测的滚动标准差。下限和上限预测是通过将每个边界的下尾概率的百分点 (分位数) 函数乘以滚动标准差来确定的。

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

  • y (pd.Series) – 目标数据。将被忽略。

  • coverage (list[float]) – 一个浮点数列表,值在 0 和 1 之间,用于计算预测区间的上限和下限。

  • predictions (pd.Series) – 可选的预测列表,用于计算。如果为 None,将使用 X 生成预测。

返回

预测区间,键的格式为 {coverage}_lower 或 {coverage}_upper。

返回类型

dict

引发

MethodPropertyNotFoundError – 如果估计器不支持时间序列回归作为问题类型。

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase object

needs_fitting(self)#

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

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

返回

True。

property parameters(self)#

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

predict(self, X: pandas.DataFrame) pandas.Series#

使用选定的特征进行预测。

参数

X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。

返回

预测值。

返回类型

pd.Series

引发

MethodPropertyNotFoundError – 如果估计器没有 predict 方法或实现了 predict 的 component_obj。

predict_proba(self, X: pandas.DataFrame) pandas.Series#

生成标签的概率估计。

参数

X (pd.DataFrame) – 特征。

返回

概率估计。

返回类型

pd.Series

引发

MethodPropertyNotFoundError – 如果估计器没有 predict_proba 方法或实现了 predict_proba 的 component_obj。

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

将组件保存到文件路径。

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

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

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

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

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