{ "info": { "author": "Chanon Jenakom", "author_email": "chanonjenakom@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": ".. image:: https://img.shields.io/pypi/v/estream.svg\n :target: https://pypi.python.org/pypi/estream\n :alt: PyPI Version\n.. image:: https://img.shields.io/pypi/l/estream.svg\n :target: https://github.com/mickeycj/estream/blob/master/LICENSE\n :alt: License\n.. image:: https://travis-ci.org/mickeycj/estream.svg\n :target: https://travis-ci.org/mickeycj/estream\n :alt: Travis CI Build Status\n\n====================================\nAn E-Stream implementation in Python\n====================================\n\nE-Stream is an evolution-based technique for stream clustering which supports\nfive behaviors:\n\n1. Appearance\n2. Disappearance\n3. Self-evolution\n4. Merge\n5. Split\n\nThese behaviors are achieved by representing each cluster as a *Fading Cluster\nStructure with Histogram (FCH)*, utilizing a histogram for each feature of the\ndata.\n\nThe details for the underlying concepts can be found `here `_:\n\nUdommanetanakit, K, Rakthanmanon, T, Waiyamai, K, *E-Stream: Evolution-Based\nTechnique for Stream Clustering*, Advanced Data Mining and Applications: Third\nInternational Conference, 2007\n\n-------------------\nHow to use E-Stream\n-------------------\n\nThe ``estream`` package aims to be substibutable with ``sklearn`` classes so it\ncan be used interchangably with other transformers with similar API.\n\n.. code-block:: python\n\n from estream import EStream\n from sklearn.datasets.samples_generator import make_blobs\n\n estream = EStream()\n data, _ = make_blobs()\n\n estream.fit(data)\n\nE-Stream contains a number of parameters that can be set; the major ones are as\nfollows:\n\n- ``max_clusters``: This limits the number of clusters the clustering can have\n before the existing clusters have to be merged. The default is set to\n *10*.\n- ``stream_speed/decay_rate``: These determine the fading factor of the\n clusters. In this implementation, the fading function is constant derived\n from the default values of *10* and *0.1*, respectively.\n- ``remove_threshold``: This sets the lower bound for each cluster's weight\n before they are considered to be removed. The default is set to *0.1*.\n- ``merge_threshold``: This determines whether two close clusters can be merged\n togther. The default is set to *1.25*.\n- ``radius_threshold``: This determines the minimum range from an existing\n cluster that a new data must be in order to be merged into one. The default\n is set to *3.0*.\n- ``active_threshold``: This sets the minimum weight of each cluster before\n they are considered active. The default is set to *5.0*.\n\nAn example of setting these parameters:\n\n.. code-block:: python\n\n from estream import EStream\n from sklearn.datasets.samples_generator import make_blobs\n\n estream = EStream(max_clusters=5,\n merge_threshold=0.5,\n radius_threshold=1.5,\n active_threshold=3.0)\n data, _ = make_blobs()\n\n estream.fit(data)\n\n------------\nInstallation\n------------\n\nCurrently, the package is only available through either ``PyPI``:\n\n.. code-block:: bash\n\n pip install estream\n\nor a manual install:\n\n.. code-block:: bash\n\n wget https://github.com/mickeycj/estream/archive/master.zip\n unzip master.zip\n rm master.zip\n cd estream-master\n python setup.py install\n\n--------------\nHelp & Support\n--------------\n\nCurrently, there is no dedicated documentation available, so any questions or\nissues can be asked via my `email `_.\n\n--------\nCitation\n--------\n\nIf you make use of this software for your work, please cite the paper from the\nAdvanced Data Mining and Applications: Third International Conference:\n\n.. code-block:: bibtex\n\n @inproceedings{inproceedings,\n author = {Udommanetanakit, Komkrit, and Rakthanmanon, Thanawin and Waiyamai, Kitsana},\n year = {2007},\n month = {08},\n pages = {605-615},\n title = {E-Stream: Evolution-Based Technique for Stream Clustering},\n volume = {4632},\n doi = {10.1007/978-3-540-73871}\n }\n\nMoreover, this implementation is based on a MOA implementaion of E-Stream (and\nother related algorithms) by `David Ratier `_. The\noriginal source code can be found in this `repository `_.\n\n-------\nLicense\n-------\n\nThe ``estream`` package is under the GNU General Public License.\n\n------------\nContributing\n------------\n\nContributions are always welcome! Everything ranging from code to notebooks and\nexamples/documentation will be very valuable to the growth of this project. To\ncontribute, please `fork this project `_\n, make your changes and submit a pull request. I will do my best to fix any\nissues and merge your code into the main branch.\n\n:Author: Chanon Jenakom\n:Version: 0.0.3\n:Dedicated: To DAKDL, Kasetsart University\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mickeycj/estream", "keywords": "machine learning,data mining,stream clustering,evolution-based", "license": "", "maintainer": "", "maintainer_email": "", "name": "estream", "package_url": "https://pypi.org/project/estream/", "platform": "", "project_url": "https://pypi.org/project/estream/", "project_urls": { "Homepage": "https://github.com/mickeycj/estream" }, "release_url": "https://pypi.org/project/estream/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "An E-Stream implementation in Python", "version": "0.0.3" }, "last_serial": 5321683, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "47c2b6198fa018fa77b67c1dd65c45b7", "sha256": "46a43f1a240b235e78efa911f884880efa767f695b8857bcd379998d5f8e50d7" }, "downloads": -1, "filename": "estream-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "47c2b6198fa018fa77b67c1dd65c45b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20463, "upload_time": "2019-05-27T10:00:34", "url": "https://files.pythonhosted.org/packages/79/f0/7e083694a471b9750d79a3b95d9f39ed12a1184f03d87861a2d70f034fa5/estream-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "396ea7c683bef226cbb6c27933b89830", "sha256": "b94243d9130d87f35a4045c5b14ad3e2571d3930947c661a5721e0d7595b5cd9" }, "downloads": -1, "filename": "estream-0.0.3.tar.gz", "has_sig": false, "md5_digest": "396ea7c683bef226cbb6c27933b89830", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8010, "upload_time": "2019-05-27T10:00:36", "url": "https://files.pythonhosted.org/packages/3d/b4/37520abf13f564a7106659f2e579335c97122cf35bd799a7b2258c771669/estream-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47c2b6198fa018fa77b67c1dd65c45b7", "sha256": "46a43f1a240b235e78efa911f884880efa767f695b8857bcd379998d5f8e50d7" }, "downloads": -1, "filename": "estream-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "47c2b6198fa018fa77b67c1dd65c45b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20463, "upload_time": "2019-05-27T10:00:34", "url": "https://files.pythonhosted.org/packages/79/f0/7e083694a471b9750d79a3b95d9f39ed12a1184f03d87861a2d70f034fa5/estream-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "396ea7c683bef226cbb6c27933b89830", "sha256": "b94243d9130d87f35a4045c5b14ad3e2571d3930947c661a5721e0d7595b5cd9" }, "downloads": -1, "filename": "estream-0.0.3.tar.gz", "has_sig": false, "md5_digest": "396ea7c683bef226cbb6c27933b89830", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8010, "upload_time": "2019-05-27T10:00:36", "url": "https://files.pythonhosted.org/packages/3d/b4/37520abf13f564a7106659f2e579335c97122cf35bd799a7b2258c771669/estream-0.0.3.tar.gz" } ] }