Class RandomForestClassifier (0.17.0)

RandomForestClassifier(
    num_parallel_tree: int = 100,
    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 = 0.8,
    gamma: float = 0.0,
    max_depth: int = 15,
    subsample: float = 0.8,
    reg_alpha: float = 0.0,
    reg_lambda: float = 1.0,
    early_stop=True,
    min_rel_progress: float = 0.01,
    enable_global_explain=False,
    xgboost_version: typing.Literal["0.9", "1.1"] = "0.9",
)

A random forest classifier.

A random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting.

Parameters

NameDescription
num_parallel_treeOptional[int]

Number of parallel trees constructed during each iteration. Default to 100. Minimum value is 2.

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. The value should be between 0 and 1.

colsample_bylevelOptional[float]

Subsample ratio of columns for each level. Default to 1.0. The value should be between 0 and 1.

colsample_bynodeOptional[float]

Subsample ratio of columns for each split. Default to 0.8. The value should be between 0 and 1.

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 15. The value should be greater than 0 and less than 1.

subsampleOptional[float]

Subsample ratio of the training instance. Default to 0.8. The value should be greater than 0 and less than 1.

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.

early_stopOptional[bool]

Whether training should stop after the first iteration. Default to True.

min_rel_progressOptional[float]

Minimum relative loss improvement necessary to continue training when early_stop is set to True. 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],
    y: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
) -> bigframes.ml.base._T

Build a forest of trees from the training set (X, y).

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

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

Returns
TypeDescription
ForestModelFitted 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]
) -> bigframes.dataframe.DataFrame

Predict regression target for X.

The predicted regression target of an input sample is computed as the mean predicted regression targets of the trees in the forest.

Returns
TypeDescription
bigframes.dataframe.DataFrameThe 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 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 by 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],
    y: typing.Union[bigframes.dataframe.DataFrame, bigframes.series.Series],
)

Calculate evaluation metrics of the model.

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

A BigQuery DataFrame as evaluation data.

ybigframes.dataframe.DataFrame or bigframes.series.Series

A BigQuery DataFrame as evaluation labels.

Returns
TypeDescription
bigframes.dataframe.DataFrameThe DataFrame as evaluation result.

to_gbq

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

Save the model to BigQuery.

Parameters
NameDescription
model_namestr

the name of the model.

replacebool, default False

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

Returns
TypeDescription
RandomForestClassifiersaved model.