Skip to main content

A Python3 framework for Reservoir Computing with a scikit-learn-compatible API

Project description

PyRCN

A Python 3 framework for Reservoir Computing with a scikit-learn-compatible API.

PyRCN is a light-weight and transparent Python 3 framework that implements ESNs and is based on widely used scientific Python packages, such as numpy or scipy. The API is fully scikit-learn-compatible, so that users of scikit-learn do not need to restructure their research data in order to use ESNs. Interested used can directly use scikit-learns built-in parameter optimization methods and example datasets.

Getting Started

PyRCN includes currently two variantes of Echo State Networks (ESNs): The ESNClassifier is meant to be a classifier, the ESNRegressor is meant to be a regressor.

Basic example for the ESNClassifier:

from pyrcn.echo_state_network import ESNClassifier


clf = ESNClassifier()
clf.fit(X=X_train, y=y_train)

y_pred_classes = clf.predict(X=X_test)  # output is the class for each input example
y_pred_proba = clf.predict_proba(X=X_test)  #  output are the class probabilities for each input example

Basic example for the ESNRegressor:

from pyrcn.echo_state_network import ESNRegressor


reg = ESNRegressor()
ref.fit(X=X_train, y=y_train)

y_pred_classes = reg.predict(X=X_test)  # output is the prediction for each input example

Acknowledgements

This research is financed by Europäischer Sozialfonds (ESF), the Free State of Saxony and Ghent University.

SMWA_EFRE-ESF Logo Ghent University IDLab

References

If you use the PyRCN, please cite the following publication:

@INPROCEEDINGS{src:PyRCN-20,  
	author={Peter Steiner and Simon Stone and Azarakhsh Jalalvand and Peter Birkholz},  
	booktitle={2020 25th International Conference on Pattern Recognition (ICPR)},   
	title={Feature Engineering and Stacked ESNs for Musical Onset Detection},  
	year={2020},  
	volume={},  
	number={},  
	note={submitted},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyRCN-0.0.3.tar.gz (12.0 MB view hashes)

Uploaded Source

Built Distribution

PyRCN-0.0.3-py3-none-any.whl (10.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page