{ "info": { "author": "Leandro Ferrado", "author_email": "ljferrado@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# pyoselm\n\n*A Python implementation of Online Sequential Extreme Machine Learning (OS-ELM) for online machine learning*\n\n\n[![Build Status](https://travis-ci.org/leferrad/pyoselm.svg?branch=master)](https://travis-ci.org/leferrad/pyoselm)\n\n### Dependencies\n\n- Numpy\n- Scipy\n- Scikit-learn\n\nOriginal publication: \n\n> Huang, G. B., Liang, N. Y., Rong, H. J., Saratchandran, P., & Sundararajan, N. (2005). \n On-Line Sequential Extreme Learning Machine. Computational Intelligence, 2005, 232-237.\n\nLink: https://pdfs.semanticscholar.org/2ebd/fa3852e4ad68a0cfde9f0f69b95953d69178.pdf\n\nImplementation strongly based on the following repos:\n\n- https://github.com/ExtremeLearningMachines/ELM-MATLAB-and-Online.Sequential.ELM\n- https://github.com/dclambert/Python-ELM\n\n### Usage\n\n```python\nfrom pyoselm import OSELMRegressor, OSELMClassifier\nfrom sklearn.datasets import load_digits, make_regression\nimport random\n\n# --- Regression problem ---\n# Model\noselmr = OSELMRegressor(n_hidden=20, activation_func='tanh')\n# Data\nx, y = make_regression(n_samples=400, n_targets=1, n_features=10)\nn_batch = 20\n\n# Fit model with chunks of data\nfor i in range(20):\n x_batch = x[i*n_batch:(i+1)*n_batch]\n y_batch = y[i*n_batch:(i+1)*n_batch]\n\n oselmr.fit(x_batch, y_batch)\n print(\"Train score for batch %i: %s\" % (i+1, str(oselmr.score(x_batch, y_batch))))\n\n# Results\nprint(\"Train score of total: %s\" % str(oselmr.score(x, y)))\n\n# --- Classification problem ---\n# Model \noselmc = OSELMClassifier(n_hidden=20, activation_func='sigmoid')\n# Data\nx, y = load_digits(n_class=10, return_X_y=True)\n\n# Shuffle data (to have batches with more than one class)\nzip_x_y = zip(x, y)\nrandom.shuffle(zip_x_y)\nx, y = [x_y[0] for x_y in zip_x_y], [x_y[1] for x_y in zip_x_y]\n\n# Sequential learning\n# The first batch of data should have the same size as neurons in the model to achieve the 1st phase (boosting)\nbatches_x = [x[:oselmc.n_hidden]] + [[x_i] for x_i in x[oselmc.n_hidden:]]\nbatches_y = [y[:oselmc.n_hidden]] + [[y_i] for y_i in y[oselmc.n_hidden:]]\n\nfor b_x, b_y in zip(batches_x, batches_y):\n oselmc.fit(b_x, b_y)\n\nprint(\"Train score of total: %s\" % str(oselmc.score(x, y)))\n\n```\n\nNOTE: Chuck-by-chunk is faster than one-by-one", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/leferrad/pyoselm", "keywords": "", "license": "LICENSE", "maintainer": "", "maintainer_email": "", "name": "pyoselm", "package_url": "https://pypi.org/project/pyoselm/", "platform": "", "project_url": "https://pypi.org/project/pyoselm/", "project_urls": { "Homepage": "https://github.com/leferrad/pyoselm" }, "release_url": "https://pypi.org/project/pyoselm/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "A Python implementation of Online Sequential Extreme Machine Learning (OS-ELM) for online machine learning", "version": "0.1.0" }, "last_serial": 3702167, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d1cee8cb067e31dfd7b77d2eef8677a4", "sha256": "ad08801597bb33707eb4b8fce5a6efe4649a8dcb816306c61521368c77f518cd" }, "downloads": -1, "filename": "pyoselm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d1cee8cb067e31dfd7b77d2eef8677a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11967, "upload_time": "2018-03-24T19:37:56", "url": "https://files.pythonhosted.org/packages/c1/49/9a2b677e0796a12994b8f6a8702e69b34147ca683519417df54a8ff2d839/pyoselm-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d1cee8cb067e31dfd7b77d2eef8677a4", "sha256": "ad08801597bb33707eb4b8fce5a6efe4649a8dcb816306c61521368c77f518cd" }, "downloads": -1, "filename": "pyoselm-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d1cee8cb067e31dfd7b77d2eef8677a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11967, "upload_time": "2018-03-24T19:37:56", "url": "https://files.pythonhosted.org/packages/c1/49/9a2b677e0796a12994b8f6a8702e69b34147ca683519417df54a8ff2d839/pyoselm-0.1.0.tar.gz" } ] }