File Exchange

image thumbnail

Extreme Learning Machine for classification and regression

version 2.0.0 (172 KB) by BERGHOUT Tarek
a single hidden layer feed-forward network for regression or classification Trained based on ELM.


Updated 03 Sep 2019

View License

I dedicate this work to the my son "Loukmane BERGHOUT".

Extreme Learning Machine ELM is the new dominate training tool for trainig a single hidden layer feed-forward neural network.
the basic learning rules of ELM is presented In these codes.

Important characteristics of this version:
- It extended for usage for both classification and regression.
- It contains functions that normalize the input samples between any desired values.
For classification:
- It allows encoding of the labels of classes into binary codes to satisfy the constraints of Activation functions boundaries.
- After training and in case of prediction the algorithm has the capability to decode again those codes into original labels.
For regression:
- The algorithm also can renormalize the output values after training into original interval.

For any information concerning this code contact me via :

[1] G. Huang, S. Member, H. Zhou, X. Ding, and R. Zhang, “Extreme Learning Machine for Regression and Multiclass Classification,” vol. 42, no. 2, pp. 513–529, 2012.

Cite As

BERGHOUT Tarek (2019). Extreme Learning Machine for classification and regression (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (8)

How to plot confusion matrix for ELM? Please include in code

xudong liu

Thank you very much


Not anywhere I can find. I tried downloading your toolbox for Deep Learning too, but not there.
Maybe just doen't like my Mac and R2019a. Thanks anyway.

the 'cancer dataset' is already included in matlab, just run the example.


Hi. Where is 'cancer_dataset'? Could you include it the zipped files?


The prog is not well tested. The Bias Matrix is missing. Therefore the result is misleading.


The size of
TrainingData: 200 x 13
Training Target : 200 x 1
Test Data : 80 x 13
Test Target: 80 x 1
in the elm_train.m file, while calculating the beta:
I have this error being shown - "Inner matrix dimensions do not agree"

could you please help me on this.




- encode and decode labels.
- normalize and renormalize training samples.


new description


referances added


some illustration figures have been added.


important referances are added


estimated outputs of training and testing for both regression or classification are added.
the formula of classification rate is optimaized


classification rate code is correct
data dividing function is added
a good example of illustration is added


the code is managed to be very simple and clear to ELM users


classification rate and RMSE


cllassification rate and RMSE value formula for both regression and cllassification were Corrected

MATLAB Release Compatibility
Created with R2013b
Compatible with any release
Platform Compatibility
Windows macOS Linux