pyoselm.oselm.OSELMClassifier

class pyoselm.oselm.OSELMClassifier(n_hidden=20, activation_func='sigmoid', activation_args=None, binarizer=LabelBinarizer(neg_label=- 1), use_woodbury=False, random_state=123)[source]

OSELMClassifier is a classifier based on the 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]

OSELMClassifier is an OSELMRegressor subclass that first binarizes the data, then uses the superclass to compute the decision function that is then unbinarized to yield the prediction.

The params for the RandomLayer used in the input transform are exposed in the ELMClassifier constructor.

Parameters
  • n_hidden (int, optional (default=20)) – Number of units to generate in the SimpleRandomLayer

  • 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

  • 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.

`classes_`

Array of class labels

Type

numpy array of shape [n_classes]

See also

ELMRegressor, OSELMRegressor, MLPRandomLayer

References

1

http://www.extreme-learning-machines.org

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, activation_func='sigmoid', activation_args=None, binarizer=LabelBinarizer(neg_label=- 1), use_woodbury=False, random_state=123)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__([n_hidden, activation_func, …])

Initialize self.

decision_function(X)

This function return the decision function values related to each class on an array of test vectors X.

fit(X, y)

Fit the model using X, y as training data.

get_params([deep])

Get parameters for this estimator.

partial_fit(X, y)

Fit the model using X, y as training data.

predict(X)

Predict class values using the model

predict_proba(X)

Predict probability values using the model

score(X, y, **kwargs)

Force use of accuracy score since it doesn’t inherit from ClassifierMixin

set_params(**params)

Set the parameters of this estimator.

Attributes

is_fitted

Check if model was fitted

decision_function(X)[source]

This function return the decision function values related to each class on an array of test vectors X.

Parameters

X (array-like of shape [n_samples, n_features]) –

Returns

C – Decision function values related to each class, per sample. In the two-class case, the shape is [n_samples,]

Return type

array of shape [n_samples, n_classes] or [n_samples,]

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

partial_fit(X, y)

Fit the model using X, y as training data. Alias for fit() method.

Notice that this function could be used for n_samples==1 (online learning), except for the first time the model is fitted, where it needs at least as many rows as ‘n_hidden’ configured.

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

predict(X)[source]

Predict class values using the model

Parameters

X ({array-like, sparse matrix} of shape [n_samples, n_features]) –

Returns

C – Predicted class values.

Return type

numpy array of shape [n_samples, n_outputs]

predict_proba(X)[source]

Predict probability values using the model

Parameters

X ({array-like, sparse matrix} of shape [n_samples, n_features]) –

Returns

P – Predicted probability values.

Return type

numpy array of shape [n_samples, n_outputs]

score(X, y, **kwargs)[source]

Force use of accuracy score since it doesn’t inherit from ClassifierMixin

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