Documentation
Classes
MLPRegressor

MLPRegressor

Multi-layer Perceptron regressor.

This model optimizes the squared error using LBFGS or stochastic gradient descent.

Python Reference (opens in a new tab)

Constructors

constructor()

Signature

new MLPRegressor(opts?: object): MLPRegressor;

Parameters

NameTypeDescription
opts?object-
opts.activation?"identity" | "logistic" | "tanh" | "relu"Activation function for the hidden layer. Default Value 'relu'
opts.alpha?numberStrength of the L2 regularization term. The L2 regularization term is divided by the sample size when added to the loss. Default Value 0.0001
opts.batch_size?numberSize of minibatches for stochastic optimizers. If the solver is ‘lbfgs’, the regressor will not use minibatch. When set to “auto”, batch\_size=min(200, n\_samples). Default Value 'auto'
opts.beta_1?numberExponential decay rate for estimates of first moment vector in adam, should be in \0, 1). Only used when solver=’adam’. Default Value 0.9
opts.beta_2?numberExponential decay rate for estimates of second moment vector in adam, should be in [0, 1). Only used when solver=’adam’. Default Value 0.999
opts.early_stopping?booleanWhether to use early stopping to terminate training when validation score is not improving. If set to true, it will automatically set aside validation\_fraction of training data as validation and terminate training when validation score is not improving by at least tol for n\_iter\_no\_change consecutive epochs. Only effective when solver=’sgd’ or ‘adam’. Default Value false
opts.epsilon?numberValue for numerical stability in adam. Only used when solver=’adam’. Default Value 1e-8
opts.hidden_layer_sizes?anyThe ith element represents the number of neurons in the ith hidden layer.
opts.learning_rate?"constant" | "invscaling" | "adaptive"Learning rate schedule for weight updates. Default Value 'constant'
opts.learning_rate_init?numberThe initial learning rate used. It controls the step-size in updating the weights. Only used when solver=’sgd’ or ‘adam’. Default Value 0.001
opts.max_fun?numberOnly used when solver=’lbfgs’. Maximum number of function calls. The solver iterates until convergence (determined by tol), number of iterations reaches max_iter, or this number of function calls. Note that number of function calls will be greater than or equal to the number of iterations for the MLPRegressor. Default Value 15000
opts.max_iter?numberMaximum number of iterations. The solver iterates until convergence (determined by ‘tol’) or this number of iterations. For stochastic solvers (‘sgd’, ‘adam’), note that this determines the number of epochs (how many times each data point will be used), not the number of gradient steps. Default Value 200
opts.momentum?numberMomentum for gradient descent update. Should be between 0 and 1. Only used when solver=’sgd’. Default Value 0.9
opts.n_iter_no_change?numberMaximum number of epochs to not meet tol improvement. Only effective when solver=’sgd’ or ‘adam’. Default Value 10
opts.nesterovs_momentum?booleanWhether to use Nesterov’s momentum. Only used when solver=’sgd’ and momentum > 0. Default Value true
opts.power_t?numberThe exponent for inverse scaling learning rate. It is used in updating effective learning rate when the learning_rate is set to ‘invscaling’. Only used when solver=’sgd’. Default Value 0.5
opts.random_state?numberDetermines random number generation for weights and bias initialization, train-test split if early stopping is used, and batch sampling when solver=’sgd’ or ‘adam’. Pass an int for reproducible results across multiple function calls. See [Glossary.
opts.shuffle?booleanWhether to shuffle samples in each iteration. Only used when solver=’sgd’ or ‘adam’. Default Value true
opts.solver?"lbfgs" | "sgd" | "adam"The solver for weight optimization. Default Value 'adam'
opts.tol?numberTolerance for the optimization. When the loss or score is not improving by at least tol for n\_iter\_no\_change consecutive iterations, unless learning\_rate is set to ‘adaptive’, convergence is considered to be reached and training stops. Default Value 0.0001
opts.validation_fraction?numberThe proportion of training data to set aside as validation set for early stopping. Must be between 0 and 1. Only used if early_stopping is true. Default Value 0.1
opts.verbose?booleanWhether to print progress messages to stdout. Default Value false
opts.warm_start?booleanWhen set to true, reuse the solution of the previous call to fit as initialization, otherwise, just erase the previous solution. See the Glossary. Default Value false

Returns

MLPRegressor

Defined in: generated/neural_network/MLPRegressor.ts:23 (opens in a new tab)

Properties

_isDisposed

boolean = false

Defined in: generated/neural_network/MLPRegressor.ts:21 (opens in a new tab)

_isInitialized

boolean = false

Defined in: generated/neural_network/MLPRegressor.ts:20 (opens in a new tab)

_py

PythonBridge

Defined in: generated/neural_network/MLPRegressor.ts:19 (opens in a new tab)

id

string

Defined in: generated/neural_network/MLPRegressor.ts:16 (opens in a new tab)

opts

any

Defined in: generated/neural_network/MLPRegressor.ts:17 (opens in a new tab)

Accessors

best_loss_

The minimum loss reached by the solver throughout fitting. If early\_stopping=True, this attribute is set to undefined. Refer to the best\_validation\_score\_ fitted attribute instead. Only accessible when solver=’sgd’ or ‘adam’.

Signature

best_loss_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:470 (opens in a new tab)

best_validation_score_

The best validation score (i.e. R2 score) that triggered the early stopping. Only available if early\_stopping=True, otherwise the attribute is set to undefined. Only accessible when solver=’sgd’ or ‘adam’.

Signature

best_validation_score_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:545 (opens in a new tab)

coefs_

The ith element in the list represents the weight matrix corresponding to layer i.

Signature

coefs_(): Promise<any[]>;

Returns

Promise<any[]>

Defined in: generated/neural_network/MLPRegressor.ts:593 (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/neural_network/MLPRegressor.ts:666 (opens in a new tab)

intercepts_

The ith element in the list represents the bias vector corresponding to layer i + 1.

Signature

intercepts_(): Promise<any[]>;

Returns

Promise<any[]>

Defined in: generated/neural_network/MLPRegressor.ts:616 (opens in a new tab)

loss_

The current loss computed with the loss function.

Signature

loss_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:447 (opens in a new tab)

loss_curve_

Loss value evaluated at the end of each training step. The ith element in the list represents the loss at the ith iteration. Only accessible when solver=’sgd’ or ‘adam’.

Signature

loss_curve_(): Promise<any[]>;

Returns

Promise<any[]>

Defined in: generated/neural_network/MLPRegressor.ts:495 (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/neural_network/MLPRegressor.ts:641 (opens in a new tab)

n_iter_

The number of iterations the solver has run.

Signature

n_iter_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:691 (opens in a new tab)

n_layers_

Number of layers.

Signature

n_layers_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:714 (opens in a new tab)

n_outputs_

Number of outputs.

Signature

n_outputs_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:739 (opens in a new tab)

out_activation_

Name of the output activation function.

Signature

out_activation_(): Promise<string>;

Returns

Promise<string>

Defined in: generated/neural_network/MLPRegressor.ts:764 (opens in a new tab)

py

Signature

py(): PythonBridge;

Returns

PythonBridge

Defined in: generated/neural_network/MLPRegressor.ts:185 (opens in a new tab)

Signature

py(pythonBridge: PythonBridge): void;

Parameters

NameType
pythonBridgePythonBridge

Returns

void

Defined in: generated/neural_network/MLPRegressor.ts:189 (opens in a new tab)

t_

The number of training samples seen by the solver during fitting. Mathematically equals n\_iters \* X.shape\[0\], it means time\_step and it is used by optimizer’s learning rate scheduler.

Signature

t_(): Promise<number>;

Returns

Promise<number>

Defined in: generated/neural_network/MLPRegressor.ts:570 (opens in a new tab)

validation_scores_

The score at each iteration on a held-out validation set. The score reported is the R2 score. Only available if early\_stopping=True, otherwise the attribute is set to undefined. Only accessible when solver=’sgd’ or ‘adam’.

Signature

validation_scores_(): Promise<any[]>;

Returns

Promise<any[]>

Defined in: generated/neural_network/MLPRegressor.ts:520 (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/neural_network/MLPRegressor.ts:268 (opens in a new tab)

fit()

Fit the model to data matrix X and target(s) y.

Signature

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

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLikeThe input data.
opts.y?ArrayLikeThe target values (class labels in classification, real numbers in regression).

Returns

Promise<any>

Defined in: generated/neural_network/MLPRegressor.ts:285 (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/neural_network/MLPRegressor.ts:198 (opens in a new tab)

partial_fit()

Update the model with a single iteration over the given data.

Signature

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

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLikeThe input data.
opts.y?ArrayLikeThe target values.

Returns

Promise<any>

Defined in: generated/neural_network/MLPRegressor.ts:325 (opens in a new tab)

predict()

Predict using the multi-layer perceptron model.

Signature

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

Parameters

NameTypeDescription
optsobject-
opts.X?ArrayLikeThe input data.

Returns

Promise<ArrayLike[]>

Defined in: generated/neural_network/MLPRegressor.ts:365 (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/neural_network/MLPRegressor.ts:400 (opens in a new tab)