pyoselm.elm.ELMRegressor¶
-
class
pyoselm.elm.ELMRegressor(n_hidden=20, alpha=0.5, rbf_width=1.0, activation_func='sigmoid', activation_args=None, user_components=None, regressor=None, random_state=None)[source]¶ Regression model based on Extreme Learning Machine.
An Extreme Learning Machine (ELM) is a single layer feedforward network with a random hidden layer components and ordinary linear least squares fitting of the hidden->output weights by default. [1][2]
ELMRegressor is a wrapper for an GenELMRegressor that creates a RandomLayer based on the given parameters.
- Parameters
n_hidden (int, optional (default=20)) – Number of units to generate in the SimpleRandomLayer
alpha (float, optional (default=0.5)) – Mixing coefficient for distance and dot product input activations: activation = alpha*mlp_activation + (1-alpha)*rbf_width*rbf_activation
rbf_width (float, optional (default=1.0)) – multiplier on rbf_activation
activation_func ({callable, string} optional (default='sigmoid')) –
Function used to transform input activation
It must be one of ‘tanh’, ‘sine’, ‘tribas’, ‘inv_tribase’, ‘sigmoid’, ‘hardlim’, ‘softlim’, ‘gaussian’, ‘multiquadric’, ‘inv_multiquadric’ or a callable. If none is given, ‘tanh’ will be used. If a callable is given, it will be used to compute the hidden unit activations.
activation_args (dictionary, optional (default=None)) – Supplies keyword arguments for a callable activation_func
user_components (dictionary, optional (default=None)) –
dictionary containing values for components that woud otherwise be randomly generated. Valid key/value pairs are as follows:
’radii’ : array-like of shape [n_hidden] ‘centers’: array-like of shape [n_hidden, n_features] ‘biases’ : array-like of shape [n_hidden] ‘weights’: array-like of shape [n_hidden, n_features]
regressor (regressor instance, optional) – (default=sklearn.linear_model.LinearRegression()) Used to perform the regression from hidden unit activations to the outputs and subsequent predictions.
random_state (int, RandomState instance or None (default=None)) – Control the pseudo random number generator used to generate the hidden unit weights at fit time.
-
`genelm_regressor_` Wrapped object that actually performs the fit.
- Type
GenELMRegressor object
Examples
>>> from pyoselm import ELMRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_samples=100, n_targets=1, n_features=10) >>> model = ELMRegressor(n_hidden=20, ... activation_func="tanh", ... random_state=123) >>> model.fit(X, y) ELMRegressor(random_state=123) >>> model.score(X, y) 0.8600650083210614
See also
GenELMRegressor,RandomLayer,MLPRandomLayerReferences
- 1
- 2
G.-B. Huang, Q.-Y. Zhu and C.-K. Siew, “Extreme Learning Machine: Theory and Applications”, Neurocomputing, vol. 70, pp. 489-501,
-
__init__(n_hidden=20, alpha=0.5, rbf_width=1.0, activation_func='sigmoid', activation_args=None, user_components=None, regressor=None, random_state=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__([n_hidden, alpha, rbf_width, …])Initialize self.
fit(X, y)Fit the model using X, y as training data.
get_params([deep])Get parameters for this estimator.
predict(X)Predict values using the model
score(X, y[, sample_weight])Return the coefficient of determination \(R^2\) of the prediction.
set_params(**params)Set the parameters of this estimator.
Attributes
Check if model was fitted
-
fit(X, y)[source]¶ Fit the model using X, y as training data.
- Parameters
X ({array-like, sparse matrix} of shape [n_samples, n_features]) – Training vectors, where n_samples is the number of samples and n_features is the number of features.
y (array-like of shape [n_samples, n_outputs]) – Target values (class labels in classification, real numbers in regression)
- Returns
self – Returns an instance of self.
- Return type
object
-
get_params(deep=True)¶ Get parameters for this estimator.
- Parameters
deep (bool, default=True) – If True, will return the parameters for this estimator and contained subobjects that are estimators.
- Returns
params – Parameter names mapped to their values.
- Return type
dict
-
property
is_fitted¶ Check if model was fitted
- Returns
- Return type
boolean, True if model is fitted
-
predict(X)[source]¶ Predict values using the model
- Parameters
X ({array-like, sparse matrix} of shape [n_samples, n_features]) –
- Returns
C – Predicted values.
- Return type
numpy array of shape [n_samples, n_outputs]
-
score(X, y, sample_weight=None)¶ Return the coefficient of determination \(R^2\) of the prediction.
The coefficient \(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.- Parameters
X (array-like of shape (n_samples, n_features)) – 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), wheren_samples_fittedis the number of samples used in the fitting for the estimator.y (array-like of shape (n_samples,) or (n_samples, n_outputs)) – True values for X.
sample_weight (array-like of shape (n_samples,), default=None) – Sample weights.
- Returns
score – \(R^2\) of
self.predict(X)wrt. y.- Return type
float
Notes
The \(R^2\) score used when calling
scoreon a regressor usesmultioutput='uniform_average'from version 0.23 to keep consistent with default value ofr2_score(). This influences thescoremethod of all the multioutput regressors (except forMultiOutputRegressor).
-
set_params(**params)¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as
Pipeline). The latter have parameters of the form<component>__<parameter>so that it’s possible to update each component of a nested object.- Parameters
**params (dict) – Estimator parameters.
- Returns
self – Estimator instance.
- Return type
estimator instance