{ "info": { "author": "Quan Wang", "author_email": "quanw@google.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Spectral Clustering [![Build Status](https://travis-ci.org/wq2012/SpectralCluster.svg?branch=master)](https://travis-ci.org/wq2012/SpectralCluster) [![PyPI Version](https://img.shields.io/pypi/v/spectralcluster.svg)](https://pypi.python.org/pypi/spectralcluster) [![Python Versions](https://img.shields.io/pypi/pyversions/spectralcluster.svg)](https://pypi.org/project/spectralcluster) [![codecov](https://codecov.io/gh/wq2012/SpectralCluster/branch/master/graph/badge.svg)](https://codecov.io/gh/wq2012/SpectralCluster) [![Documentation](https://img.shields.io/badge/api-documentation-blue.svg)](https://wq2012.github.io/SpectralCluster)\n\n## Overview\n\nThis is a Python re-implementation of the spectral clustering algorithm in the\npaper [Speaker Diarization with LSTM](https://google.github.io/speaker-id/publications/LstmDiarization/).\n\n![refinement](https://raw.githubusercontent.com/wq2012/SpectralCluster/master/resources/refinement.png)\n\n## Disclaimer\n\n**This is not the original implementation used by the paper.**\n\nSpecifically, in this implementation, we use the K-Means from\n[scikit-learn](https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html),\nwhich does NOT support customized distance measure like cosine distance.\n\n## Dependencies\n\n* numpy\n* scipy\n* scikit-learn\n\n## Installation\n\nInstall the [package](https://pypi.org/project/spectralcluster/) by:\n\n```bash\npip3 install spectralcluster\n```\n\nor\n\n```bash\npython3 -m pip install spectralcluster\n```\n\n## Tutorial\n\nSimply use the `predict()` method of class `SpectralClusterer` to perform\nspectral clustering:\n\n```python\nfrom spectralcluster import SpectralClusterer\n\nclusterer = SpectralClusterer(\n min_clusters=2,\n max_clusters=100,\n p_percentile=0.95,\n gaussian_blur_sigma=1)\n\nlabels = clusterer.predict(X)\n```\n\nThe input `X` is a numpy array of shape `(n_samples, n_features)`,\nand the returned `labels` is a numpy array of shape `(n_samples,)`.\n\nFor the complete list of parameters of the clusterer, see\n`spectralcluster/spectral_clusterer.py`.\n\n## Citations\n\nOur paper is cited as:\n\n```\n@inproceedings{wang2018speaker,\n title={Speaker diarization with lstm},\n author={Wang, Quan and Downey, Carlton and Wan, Li and Mansfield, Philip Andrew and Moreno, Ignacio Lopz},\n booktitle={2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},\n pages={5239--5243},\n year={2018},\n organization={IEEE}\n}\n```\n\n## Misc\n\nOur new speaker diarization systems are now fully supervised, powered by\n[uis-rnn](https://github.com/google/uis-rnn).\nCheck this [Google AI Blog](https://ai.googleblog.com/2018/11/accurate-online-speaker-diarization.html).\n\nTo learn more about speaker diarization, here is a curated list of resources:\n[awesome-diarization](https://github.com/wq2012/awesome-diarization).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wq2012/SpectralCluster", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "spectralcluster", "package_url": "https://pypi.org/project/spectralcluster/", "platform": "", "project_url": "https://pypi.org/project/spectralcluster/", "project_urls": { "Homepage": "https://github.com/wq2012/SpectralCluster" }, "release_url": "https://pypi.org/project/spectralcluster/0.0.8/", "requires_dist": null, "requires_python": "", "summary": "Spectral Clustering", "version": "0.0.8" }, "last_serial": 5381469, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "82f1f6f9a9af06f4ca3842d2c830c364", "sha256": "66ed16681196f8c6e72aa56f91c6a9ebf1669c533c5d36053170be24c23f169e" }, "downloads": -1, "filename": "spectralcluster-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "82f1f6f9a9af06f4ca3842d2c830c364", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9243, "upload_time": "2019-01-18T22:49:41", "url": "https://files.pythonhosted.org/packages/0f/a3/bdbd988dce6c0381babfbff91d17e8a32c972248b88840084a4a20aef12c/spectralcluster-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "052a6b80e0ff172af5a2b61c526a142c", "sha256": "590c45cb7daa2c8cb3dd47e74cf2196254a01098827ef1cfb32b2571cecee880" }, "downloads": -1, "filename": "spectralcluster-0.0.1.tar.gz", "has_sig": false, "md5_digest": "052a6b80e0ff172af5a2b61c526a142c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3997, "upload_time": "2019-01-18T22:49:43", "url": "https://files.pythonhosted.org/packages/6a/70/2133dd5c523b14c8ca5a24e269f04fd781170a091a7729d904911046bbf6/spectralcluster-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "3eb33b55a3cb58e68e57484199c5d7bd", "sha256": "8f2ff025828d7ac8dd5fa29cb752911c9beec6ad9f82c5fe574e2ca07c6d57e9" }, "downloads": -1, "filename": "spectralcluster-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3eb33b55a3cb58e68e57484199c5d7bd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10029, "upload_time": "2019-01-19T01:26:36", "url": "https://files.pythonhosted.org/packages/ac/d2/284e44a2631865774c115272afd4e1c3334d0d6e86bf4ac0baa492bfb7e1/spectralcluster-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9f2b51d380162e1f1537eeeab77a63b", "sha256": "011c6846532607e67ceb0c6b679e84cbc00f9e157108bcd97cdab529cff23069" }, "downloads": -1, "filename": "spectralcluster-0.0.2.tar.gz", "has_sig": false, "md5_digest": "b9f2b51d380162e1f1537eeeab77a63b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4563, "upload_time": "2019-01-19T01:26:37", "url": "https://files.pythonhosted.org/packages/7b/cf/0c0863b889d92c386235e9855272c02ad56ab92fec56805ea6b70aac2fd0/spectralcluster-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "fae6b0bb916fb5463a9674c9f2990232", "sha256": "c452a3779f95e5dc4b8792b8305ab17927b309acafea5dda09ccc7401ec32f7b" }, "downloads": -1, "filename": "spectralcluster-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fae6b0bb916fb5463a9674c9f2990232", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10103, "upload_time": "2019-01-19T02:21:22", "url": "https://files.pythonhosted.org/packages/c6/32/082882f5a4ce935cbc8045caacc105544ee861a77178592483dda47fa83a/spectralcluster-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f39d2b096e8a19a57669dee0a08be4b", "sha256": "b049af4802b71df70a7d6ee0bde3a761cba7e3a45ad21094f8e74f95135743e2" }, "downloads": -1, "filename": "spectralcluster-0.0.3.tar.gz", "has_sig": false, "md5_digest": "9f39d2b096e8a19a57669dee0a08be4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4619, "upload_time": "2019-01-19T02:21:24", "url": "https://files.pythonhosted.org/packages/d6/5d/4379a134ee371fb7699c3153c832171601015882786d2d32c8af5a285d30/spectralcluster-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ff8fc2ecb219132987efb4626395ac62", "sha256": "a640bc05ddc880116db0b5c4b6c0bfe5dd655a03f026f7c8c20de2caf1c28d4a" }, "downloads": -1, "filename": "spectralcluster-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "ff8fc2ecb219132987efb4626395ac62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10107, "upload_time": "2019-01-19T03:23:48", "url": "https://files.pythonhosted.org/packages/3d/de/2f43699efccbc3aebbe09c07dca702ea8910e9ec5d13ef0581ce932dc7dd/spectralcluster-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "beccdd88e59d9bc71b13b1375b000f60", "sha256": "d98c9f71795555e3340030744833269ff083009edefdd72e2c128b4cc588cb1a" }, "downloads": -1, "filename": "spectralcluster-0.0.4.tar.gz", "has_sig": false, "md5_digest": "beccdd88e59d9bc71b13b1375b000f60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4620, "upload_time": "2019-01-19T03:23:50", "url": "https://files.pythonhosted.org/packages/4c/93/f913604188a220349113622ce6dfc1be6481195b046e7506a751f80c00f6/spectralcluster-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "85952d164ff633ffb7ad8d9bb721fe92", "sha256": "c9fdd4edcfeee71c64719fb242fff06cbcedcf1eae0b239962b03bf0cd8094d2" }, "downloads": -1, "filename": "spectralcluster-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "85952d164ff633ffb7ad8d9bb721fe92", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10483, "upload_time": "2019-01-19T16:27:52", "url": "https://files.pythonhosted.org/packages/8d/9a/a4e237571f1c8026fdabacf98efbe54e1037e9b2664ab68c44649e920803/spectralcluster-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53f0cebfdd0b06854039fb326ad641a1", "sha256": "f6df37450642c564b010fd19073b0cf111598a9fa6ed3ea9f049dbb9847f0038" }, "downloads": -1, "filename": "spectralcluster-0.0.5.tar.gz", "has_sig": false, "md5_digest": "53f0cebfdd0b06854039fb326ad641a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5023, "upload_time": "2019-01-19T16:27:53", "url": "https://files.pythonhosted.org/packages/e8/16/7eebf731fe71638d2c147a997cf8ec96253b2c0d8873f6d0d8cae829e0f2/spectralcluster-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "29162cf471ec299ac2baada196ccaa9d", "sha256": "33ba4740293e3829300cbd12b20f0833f8c9ad1463f36c0468f4d77c64f1445c" }, "downloads": -1, "filename": "spectralcluster-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "29162cf471ec299ac2baada196ccaa9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10576, "upload_time": "2019-01-20T04:53:51", "url": "https://files.pythonhosted.org/packages/ca/ee/3d1e731cfc0bc81659b1225c2f947d23f085f4a6c9888baf793340ef68e2/spectralcluster-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ea75c97459487ca866e9a3218267e15", "sha256": "f2e5b8f77fcb5a332f9225fcf8a8db3df207bee2ee2ba7cd5e29f344ebb6aace" }, "downloads": -1, "filename": "spectralcluster-0.0.6.tar.gz", "has_sig": false, "md5_digest": "7ea75c97459487ca866e9a3218267e15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5090, "upload_time": "2019-01-20T04:53:52", "url": "https://files.pythonhosted.org/packages/f4/3b/0f045bbc9843b1053b1ee8f7d513f567e107b4645438afd0bfc45b097c69/spectralcluster-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "129f236ba88fc5c6372d04686b84fdb9", "sha256": "d8ffad96f76f77ef13d4023014294b00dd8e95851dd50dd788109ffba26a54e3" }, "downloads": -1, "filename": "spectralcluster-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "129f236ba88fc5c6372d04686b84fdb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10602, "upload_time": "2019-01-27T16:48:40", "url": "https://files.pythonhosted.org/packages/94/f0/6818571b5727362a5cfaf6f322714d5443d3639220d574aa33e27b25b859/spectralcluster-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5403436001661d2f2e9236575ee42646", "sha256": "bc5e918535919c8a6f89ac24083fd5ef178fed73327cf51e07a41d6e91733b67" }, "downloads": -1, "filename": "spectralcluster-0.0.7.tar.gz", "has_sig": false, "md5_digest": "5403436001661d2f2e9236575ee42646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5121, "upload_time": "2019-01-27T16:48:41", "url": "https://files.pythonhosted.org/packages/2d/de/d71b5c2de0adf3f151d660b0d6960cb4eeab0258e0f09ebc9641b3c1dbf7/spectralcluster-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "ef6ffa88442cae8096b07a982e58993d", "sha256": "858e94ef1c93e6c4fbe7928467740aa8e619f0630e34a5d121db731798a86da7" }, "downloads": -1, "filename": "spectralcluster-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ef6ffa88442cae8096b07a982e58993d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10678, "upload_time": "2019-06-10T15:20:58", "url": "https://files.pythonhosted.org/packages/24/75/86ee1d01114a398acc9de2fea3bd1c8d8e54512bbd954d92a704e45a484b/spectralcluster-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14f8fcb7a32b248a2ef10af1a6dc9fc3", "sha256": "d793326136433874e161ee722bd46773c6783ceae5e4f62cba294d8821a71cf7" }, "downloads": -1, "filename": "spectralcluster-0.0.8.tar.gz", "has_sig": false, "md5_digest": "14f8fcb7a32b248a2ef10af1a6dc9fc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5205, "upload_time": "2019-06-10T15:21:00", "url": "https://files.pythonhosted.org/packages/c5/4f/dd5d9661d8ffcca3cf65e2fec9f3c09b42856555c2e0e100eb48f51bfb1d/spectralcluster-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef6ffa88442cae8096b07a982e58993d", "sha256": "858e94ef1c93e6c4fbe7928467740aa8e619f0630e34a5d121db731798a86da7" }, "downloads": -1, "filename": "spectralcluster-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ef6ffa88442cae8096b07a982e58993d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10678, "upload_time": "2019-06-10T15:20:58", "url": "https://files.pythonhosted.org/packages/24/75/86ee1d01114a398acc9de2fea3bd1c8d8e54512bbd954d92a704e45a484b/spectralcluster-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14f8fcb7a32b248a2ef10af1a6dc9fc3", "sha256": "d793326136433874e161ee722bd46773c6783ceae5e4f62cba294d8821a71cf7" }, "downloads": -1, "filename": "spectralcluster-0.0.8.tar.gz", "has_sig": false, "md5_digest": "14f8fcb7a32b248a2ef10af1a6dc9fc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5205, "upload_time": "2019-06-10T15:21:00", "url": "https://files.pythonhosted.org/packages/c5/4f/dd5d9661d8ffcca3cf65e2fec9f3c09b42856555c2e0e100eb48f51bfb1d/spectralcluster-0.0.8.tar.gz" } ] }