xgboost_classifier#

XGBoost 分类器。

模块内容#

类摘要#

XGBoostClassifier

XGBoost 分类器。

目录#

class evalml.pipelines.components.estimators.classifiers.xgboost_classifier.XGBoostClassifier(eta=0.1, max_depth=6, min_child_weight=1, n_estimators=100, random_seed=0, eval_metric='logloss', n_jobs=12, **kwargs)[source]#

XGBoost 分类器。

参数
  • eta (float) – 提升学习率。默认为 0.1。

  • max_depth (int) – 基学习器的最大树深度。默认为 6。

  • min_child_weight (float) – 子节点所需的最小实例权重(hessian)之和。默认为 1.0

  • n_estimators (int) – 梯度提升树的数量。等同于提升轮数。默认为 100。

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

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

属性

超参数范围

{ “eta”: Real(0.000001, 1), “max_depth”: Integer(1, 10), “min_child_weight”: Real(1, 10), “n_estimators”: Integer(1, 1000),}

模型家族

ModelFamily.XGBOOST

修改特征

True

修改目标

False

名称

XGBoost 分类器

SEED_MAX

None

SEED_MIN

None

支持的问题类型

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

仅训练

False

方法

克隆

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

默认参数

返回此组件的默认参数。

描述

描述组件及其参数。

特征重要性

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

拟合

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

获取预测区间

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

加载

加载文件路径处的组件。

需要拟合

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

参数

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

预测

使用已拟合的 XGBoost 分类器进行预测。

预测概率

使用已拟合的 CatBoost 分类器进行预测。

保存

将组件保存到文件路径。

更新参数

更新组件的参数字典。

clone(self)#

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

返回

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

default_parameters(cls)#

返回此组件的默认参数。

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

返回

此组件的默认参数。

返回类型

dict

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

描述组件及其参数。

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

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

返回

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

返回类型

None or dict

property feature_importance(self)#

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

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

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

参数
  • 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)[source]#

使用已拟合的 XGBoost 分类器进行预测。

参数

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

返回

预测值。

返回类型

pd.DataFrame

predict_proba(self, X)[source]#

使用已拟合的 CatBoost 分类器进行预测。

参数

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

返回

预测值。

返回类型

pd.DataFrame

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, 可选) – 如果为 True,将设置 _is_fitted 为 False。