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
Name | Type | Description |
---|---|---|
opts? | object | - |
opts.activation? | "identity" | "logistic" | "tanh" | "relu" | Activation function for the hidden layer. Default Value 'relu' |
opts.alpha? | number | Strength 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? | number | Size 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? | number | Exponential 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? | number | Exponential 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? | boolean | Whether 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? | number | Value for numerical stability in adam. Only used when solver=’adam’. Default Value 1e-8 |
opts.hidden_layer_sizes? | any | The 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? | number | The 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? | number | Only 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? | number | Maximum 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? | number | Momentum for gradient descent update. Should be between 0 and 1. Only used when solver=’sgd’. Default Value 0.9 |
opts.n_iter_no_change? | number | Maximum number of epochs to not meet tol improvement. Only effective when solver=’sgd’ or ‘adam’. Default Value 10 |
opts.nesterovs_momentum? | boolean | Whether to use Nesterov’s momentum. Only used when solver=’sgd’ and momentum > 0. Default Value true |
opts.power_t? | number | The 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? | number | Determines 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? | boolean | Whether 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? | number | Tolerance 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? | number | The 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? | boolean | Whether to print progress messages to stdout. Default Value false |
opts.warm_start? | boolean | When 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
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
Name | Type |
---|---|
pythonBridge | PythonBridge |
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
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | ArrayLike | The input data. |
opts.y? | ArrayLike | The 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
Name | Type |
---|---|
py | PythonBridge |
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
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | ArrayLike | The input data. |
opts.y? | ArrayLike | The 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
Name | Type | Description |
---|---|---|
opts | object | - |
opts.X? | ArrayLike | The 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
Name | Type | Description |
---|---|---|
opts | object | - |
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? | ArrayLike | Sample weights. |
opts.y? | ArrayLike | True values for X . |
Returns
Promise
<number
>
Defined in: generated/neural_network/MLPRegressor.ts:400 (opens in a new tab)