Class XGBClassifier (1.29.0)

XGBClassifier(
    n_estimators: int = 1,
    *,
    booster: typing.Literal["gbtree", "dart"] = "gbtree",
    dart_normalized_type: typing.Literal["tree", "forest"] = "tree",
    tree_method: typing.Literal["auto", "exact", "approx", "hist"] = "auto",
    min_tree_child_weight: int = 1,
    colsample_bytree: float = 1.0,
    colsample_bylevel: float = 1.0,
    colsample_bynode: float = 1.0,
    gamma: float = 0.0,
    max_depth: int = 6,
    subsample: float = 1.0,
    reg_alpha: float = 0.0,
    reg_lambda: float = 1.0,
    learning_rate: float = 0.3,
    max_iterations: int = 20,
    tol: float = 0.01,
    enable_global_explain: bool = False,
    xgboost_version: typing.Literal["0.9", "1.1"] = "0.9"
)

XGBoost classifier model.

Parameters

NameDescription
n_estimatorsOptional[int]

Number of parallel trees constructed during each iteration. Default to 1.

boosterOptional[str]

Specify which booster to use: gbtree or dart. Default to "gbtree".

dart_normalized_typeOptional[str]

Type of normalization algorithm for DART booster. Possible values: "TREE", "FOREST". Default to "TREE".

tree_methodOptional[str]

Specify which tree method to use. Default to "auto". If this parameter is set to default, XGBoost will choose the most conservative option available. Possible values: "exact", "approx", "hist".

min_child_weightOptional[float]

Minimum sum of instance weight(hessian) needed in a child. Default to 1.

colsample_bytreeOptional[float]

Subsample ratio of columns when constructing each tree. Default to 1.0.

colsample_bylevelOptional[float]

Subsample ratio of columns for each level. Default to 1.0.

colsample_bynodeOptional[float]

Subsample ratio of columns for each split. Default to 1.0.

gammaOptional[float]

(min_split_loss) Minimum loss reduction required to make a further partition on a leaf node of the tree. Default to 0.0.

max_depthOptional[int]

Maximum tree depth for base learners. Default to 6.

subsampleOptional[float]

Subsample ratio of the training instance. Default to 1.0.

reg_alphaOptional[float]

L1 regularization term on weights (xgb's alpha). Default to 0.0.

reg_lambdaOptional[float]

L2 regularization term on weights (xgb's lambda). Default to 1.0.

learning_rateOptional[float]

Boosting learning rate (xgb's "eta"). Default to 0.3.

max_iterationsOptional[int]

Maximum number of rounds for boosting. Default to 20.

tolOptional[float]

Minimum relative loss improvement necessary to continue training. Default to 0.01.

enable_global_explainOptional[bool]

Whether to compute global explanations using explainable AI to evaluate global feature importance to the model. Default to False.

xgboost_versionOptional[str]

Specifies the Xgboost version for model training. Default to "0.9". Possible values: "0.9", "1.1".

Methods

__repr__

__repr__()

Print the estimator's constructor with all non-default parameter values.

fit

fit(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    y: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    X_eval: typing.Optional[
        typing.Union[
            bigframes.dataframe.DataFrame,
            bigframes.series.Series,
            pandas.core.frame.DataFrame,
            pandas.core.series.Series,
        ]
    ] = None,
    y_eval: typing.Optional[
        typing.Union[
            bigframes.dataframe.DataFrame,
            bigframes.series.Series,
            pandas.core.frame.DataFrame,
            pandas.core.series.Series,
        ]
    ] = None,
) -> bigframes.ml.base._T

Fit gradient boosting model.

Note that calling fit() multiple times will cause the model object to be re-fit from scratch. To resume training from a previous checkpoint, explicitly pass xgb_model argument.

Parameters
NameDescription
Xbigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples, n_features). Training data.

ybigframes.dataframe.DataFrame or bigframes.series.Series

DataFrame of shape (n_samples,) or (n_samples, n_targets). Target values. Will be cast to X's dtype if necessary.

X_evalbigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples, n_features). Evaluation data.

y_evalbigframes.dataframe.DataFrame or bigframes.series.Series

DataFrame of shape (n_samples,) or (n_samples, n_targets). Evaluation target values. Will be cast to X_eval's dtype if necessary.

Returns
TypeDescription
XGBModelFitted estimator.

get_params

get_params(deep: bool = True) -> typing.Dict[str, typing.Any]

Get parameters for this estimator.

Parameter
NameDescription
deepbool, default True

Default True. If True, will return the parameters for this estimator and contained subobjects that are estimators.

Returns
TypeDescription
DictionaryA dictionary of parameter names mapped to their values.

predict

predict(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ]
) -> bigframes.dataframe.DataFrame

Predict using the XGB model.

Parameter
NameDescription
Xbigframes.dataframe.DataFrame or bigframes.series.Series

Series or DataFrame of shape (n_samples, n_features). Samples.

Returns
TypeDescription
bigframes.dataframe.DataFrameDataFrame of shape (n_samples, n_input_columns + n_prediction_columns). Returns predicted values.

register

register(vertex_ai_model_id: typing.Optional[str] = None) -> bigframes.ml.base._T

Register the model to Vertex AI.

After register, go to the Google Cloud console (https://console.cloud.google.com/vertex-ai/models) to manage the model registries. Refer to https://cloud.google.com/vertex-ai/docs/model-registry/introduction for more options.

Parameter
NameDescription
vertex_ai_model_idOptional[str], default None

Optional string id as model id in Vertex. If not set, will default to 'bigframes_{bq_model_id}'. Vertex Ai model id will be truncated to 63 characters due to its limitation.

score

score(
    X: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
    y: typing.Union[
        bigframes.dataframe.DataFrame,
        bigframes.series.Series,
        pandas.core.frame.DataFrame,
        pandas.core.series.Series,
    ],
)

Return the mean accuracy on the given test data and labels.

In multi-label classification, this is the subset accuracy, which is a harsh metric since you require that each label set be correctly predicted for each sample.

Parameters
NameDescription
Xbigframes.dataframe.DataFrame or bigframes.series.Series

DataFrame of shape (n_samples, n_features). Test samples.

ybigframes.dataframe.DataFrame or bigframes.series.Series

DataFrame of shape (n_samples,) or (n_samples, n_outputs). True labels for X.

Returns
TypeDescription
bigframes.dataframe.DataFrameA DataFrame of the evaluation result.

to_gbq

to_gbq(
    model_name: str, replace: bool = False
) -> bigframes.ml.ensemble.XGBClassifier

Save the model to BigQuery.

Parameters
NameDescription
model_namestr

The name of the model.

replacebool, default False

Determine whether to replace if the model already exists. Default to False.

Returns
TypeDescription
XGBClassifierSaved model.