Documentation
Classes
HistGradientBoostingRegressor

HistGradientBoostingRegressor

Histogram-based Gradient Boosting Regression Tree.

This estimator is much faster than GradientBoostingRegressor for big datasets (n_samples >= 10 000).

This estimator has native support for missing values (NaNs). During training, the tree grower learns at each split point whether samples with missing values should go to the left or right child, based on the potential gain. When predicting, samples with missing values are assigned to the left or right child consequently. If no missing values were encountered for a given feature during training, then samples with missing values are mapped to whichever child has the most samples.

This implementation is inspired by LightGBM (opens in a new tab).

Read more in the User Guide.

Python Reference (opens in a new tab)

Constructors

constructor()

Signature

new HistGradientBoostingRegressor(opts?: object): HistGradientBoostingRegressor;

Parameters

NameTypeDescription
opts?object-
opts.categorical_features?numberIndicates the categorical features.
opts.early_stopping?boolean | "auto"If ‘auto’, early stopping is enabled if the sample size is larger than 10000. If true, early stopping is enabled, otherwise early stopping is disabled. Default Value 'auto'
opts.interaction_cst?"pairwise" | "no_interaction"Specify interaction constraints, the sets of features which can interact with each other in child node splits. Each item specifies the set of feature indices that are allowed to interact with each other. If there are more features than specified in these constraints, they are treated as if they were specified as an additional set. The strings “pairwise” and “no_interactions” are shorthands for allowing only pairwise or no interactions, respectively. For instance, with 5 features in total, interaction\_cst=\[{0, 1}\] is equivalent to interaction\_cst=\[{0, 1}, {2, 3, 4}\], and specifies that each branch of a tree will either only split on features 0 and 1 or only split on features 2, 3 and 4.
opts.l2_regularization?numberThe L2 regularization parameter. Use 0 for no regularization (default). Default Value 0
opts.learning_rate?numberThe learning rate, also known as shrinkage. This is used as a multiplicative factor for the leaves values. Use 1 for no shrinkage. Default Value 0.1
opts.loss?"quantile" | "squared_error" | "absolute_error" | "poisson"The loss function to use in the boosting process. Note that the “squared error” and “poisson” losses actually implement “half least squares loss” and “half poisson deviance” to simplify the computation of the gradient. Furthermore, “poisson” loss internally uses a log-link and requires y >= 0. “quantile” uses the pinball loss. Default Value 'squared_error'
opts.max_bins?numberThe maximum number of bins to use for non-missing values. Before training, each feature of the input array X is binned into integer-valued bins, which allows for a much faster training stage. Features with a small number of unique values may use less than max\_bins bins. In addition to the max\_bins bins, one more bin is always reserved for missing values. Must be no larger than 255. Default Value 255
opts.max_depth?numberThe maximum depth of each tree. The depth of a tree is the number of edges to go from the root to the deepest leaf. Depth isn’t constrained by default.
opts.max_iter?numberThe maximum number of iterations of the boosting process, i.e. the maximum number of trees. Default Value 100
opts.max_leaf_nodes?numberThe maximum number of leaves for each tree. Must be strictly greater than 1. If undefined, there is no maximum limit. Default Value 31
opts.min_samples_leaf?numberThe minimum number of samples per leaf. For small datasets with less than a few hundred samples, it is recommended to lower this value since only very shallow trees would be built. Default Value 20
opts.monotonic_cst?anyMonotonic constraint to enforce on each feature are specified using the following integer values:
opts.n_iter_no_change?numberUsed to determine when to “early stop”. The fitting process is stopped when none of the last n\_iter\_no\_change scores are better than the n\_iter\_no\_change \- 1 -th-to-last one, up to some tolerance. Only used if early stopping is performed. Default Value 10
opts.quantile?numberIf loss is “quantile”, this parameter specifies which quantile to be estimated and must be between 0 and 1.
opts.random_state?numberPseudo-random number generator to control the subsampling in the binning process, and the train/validation data split if early stopping is enabled. Pass an int for reproducible output across multiple function calls. See Glossary.
opts.scoring?stringScoring parameter to use for early stopping. It can be a single string (see The scoring parameter: defining model evaluation rules) or a callable (see Defining your scoring strategy from metric functions). If undefined, the estimator’s default scorer is used. If scoring='loss', early stopping is checked w.r.t the loss value. Only used if early stopping is performed. Default Value 'loss'
opts.tol?numberThe absolute tolerance to use when comparing scores during early stopping. The higher the tolerance, the more likely we are to early stop: higher tolerance means that it will be harder for subsequent iterations to be considered an improvement upon the reference score. Default Value 1e-7
opts.validation_fraction?numberProportion (or absolute size) of training data to set aside as validation data for early stopping. If undefined, early stopping is done on the training data. Only used if early stopping is performed. Default Value 0.1
opts.verbose?numberThe verbosity level. If not zero, print some information about the fitting process. Default Value 0
opts.warm_start?booleanWhen set to true, reuse the solution of the previous call to fit and add more estimators to the ensemble. For results to be valid, the estimator should be re-trained on the same data only. See the Glossary. Default Value false

Returns

HistGradientBoostingRegressor

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:29 (opens in a new tab)

Properties

_isDisposed

boolean = false

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:27 (opens in a new tab)

_isInitialized

boolean = false

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:26 (opens in a new tab)

_py

PythonBridge

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:25 (opens in a new tab)

id

string

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:22 (opens in a new tab)

opts

any

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:23 (opens in a new tab)

Accessors

do_early_stopping_

Indicates whether early stopping is used during training.

Signature

do_early_stopping_(): Promise<boolean>;

Returns

Promise<boolean>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:460 (opens in a new tab)

feature_names_in_

Names of features seen during fit. Defined only when X has feature names that are all strings.

Signature

feature_names_in_(): Promise<ArrayLike>;

Returns

Promise<ArrayLike>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:622 (opens in a new tab)

is_categorical_

Boolean mask for the categorical features. undefined if there are no categorical features.

Signature

is_categorical_(): Promise<ArrayLike>;

Returns

Promise<ArrayLike>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:568 (opens in a new tab)

n_features_in_

Number of features seen during fit.

Signature

n_features_in_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:595 (opens in a new tab)

n_trees_per_iteration_

The number of tree that are built at each iteration. For regressors, this is always 1.

Signature

n_trees_per_iteration_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:487 (opens in a new tab)

py

Signature

py(): PythonBridge;

Returns

PythonBridge

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:170 (opens in a new tab)

Signature

py(pythonBridge: PythonBridge): void;

Parameters

NameType
pythonBridgePythonBridge

Returns

void

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:174 (opens in a new tab)

train_score_

The scores at each iteration on the training data. The first entry is the score of the ensemble before the first iteration. Scores are computed according to the scoring parameter. If scoring is not ‘loss’, scores are computed on a subset of at most 10 000 samples. Empty if no early stopping.

Signature

train_score_(): Promise<ArrayLike>;

Returns

Promise<ArrayLike>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:514 (opens in a new tab)

validation_score_

The scores at each iteration on the held-out validation data. The first entry is the score of the ensemble before the first iteration. Scores are computed according to the scoring parameter. Empty if no early stopping or if validation\_fraction is undefined.

Signature

validation_score_(): Promise<ArrayLike>;

Returns

Promise<ArrayLike>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:541 (opens in a new tab)

Methods

dispose()

Disposes of the underlying Python resources.

Once dispose() is called, the instance is no longer usable.

Signature

dispose(): Promise<void>;

Returns

Promise<void>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:261 (opens in a new tab)

fit()

Fit the gradient boosting model.

Signature

fit(opts: object): Promise<any>;

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLike[]The input samples.
opts.sample_weight?anyWeights of training data.
opts.y?ArrayLikeTarget values.

Returns

Promise<any>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:278 (opens in a new tab)

init()

Initializes the underlying Python resources.

This instance is not usable until the Promise returned by init() resolves.

Signature

init(py: PythonBridge): Promise<void>;

Parameters

NameType
pyPythonBridge

Returns

Promise<void>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:183 (opens in a new tab)

predict()

Predict values for X.

Signature

predict(opts: object): Promise<ArrayLike>;

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLikeThe input samples.

Returns

Promise<ArrayLike>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:329 (opens in a new tab)

score()

Return the coefficient of determination of the prediction.

The coefficient of determination \(R^2\) is defined as \((1 - \frac{u}{v})\), where \(u\) is the residual sum of squares ((y\_true \- y\_pred)\*\* 2).sum() and \(v\) is the total sum of squares ((y\_true \- y\_true.mean()) \*\* 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a \(R^2\) score of 0.0.

Signature

score(opts: object): Promise<number>;

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLike[]Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape (n\_samples, n\_samples\_fitted), where n\_samples\_fitted is the number of samples used in the fitting for the estimator.
opts.sample_weight?ArrayLikeSample weights.
opts.y?ArrayLikeTrue values for X.

Returns

Promise<number>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:368 (opens in a new tab)

staged_predict()

Predict regression target for each iteration.

This method allows monitoring (i.e. determine error on testing set) after each stage.

Signature

staged_predict(opts: object): Promise<any[]>;

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLike[]The input samples.

Returns

Promise<any[]>

Defined in: generated/ensemble/HistGradientBoostingRegressor.ts:422 (opens in a new tab)