{ "info": { "author": "Jakub Svehla", "author_email": "jakub.svehla@datamole.cz", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# active-semi-supervised-clustering\n\nActive semi-supervised clustering algorithms for scikit-learn.\n\n## Algorithms\n\n### Semi-supervised clustering\n\n* Seeded-KMeans\n* Constrainted-KMeans\n* COP-KMeans\n* Pairwise constrained K-Means (PCK-Means)\n* Metric K-Means (MK-Means)\n* Metric pairwise constrained K-Means (MPCK-Means)\n\n### Active learning of pairwise clustering\n\n* Explore & Consolidate\n* Min-max\n* Normalized point-based uncertainty (NPU) method\n\n## Installation\n\n```\npip install active-semi-supervised-clustering\n```\n\n## Usage\n\n```python\nfrom sklearn import datasets, metrics\nfrom active_semi_clustering.semi_supervised.pairwise_constraints import PCKMeans\nfrom active_semi_clustering.active.pairwise_constraints import ExampleOracle, ExploreConsolidate, MinMax\n```\n\n```python\nX, y = datasets.load_iris(return_X_y=True)\n```\n\nFirst, obtain some pairwise constraints from an oracle.\n\n```python\n# TODO implement your own oracle that will, for example, query a domain expert via GUI or CLI\noracle = ExampleOracle(y, max_queries_cnt=10)\n\nactive_learner = MinMax(n_clusters=3)\nactive_learner.fit(X, oracle=oracle)\npairwise_constraints = active_learner.pairwise_constraints_\n```\n\nThen, use the constraints to do the clustering.\n\n```python\nclusterer = PCKMeans(n_clusters=3)\nclusterer.fit(X, ml=pairwise_constraints[0], cl=pairwise_constraints[1])\n```\n\nEvaluate the clustering using Adjusted Rand Score.\n\n```python\nmetrics.adjusted_rand_score(y, clusterer.labels_)\n```\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/datamole-ai/active-semi-supervised-clustering", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "active-semi-supervised-clustering", "package_url": "https://pypi.org/project/active-semi-supervised-clustering/", "platform": "", "project_url": "https://pypi.org/project/active-semi-supervised-clustering/", "project_urls": { "Homepage": "https://github.com/datamole-ai/active-semi-supervised-clustering" }, "release_url": "https://pypi.org/project/active-semi-supervised-clustering/0.0.1/", "requires_dist": [ "numpy", "scipy", "scikit-learn", "metric-learn (>=0.4)" ], "requires_python": "", "summary": "Active semi-supervised clustering algorithms for scikit-learn", "version": "0.0.1" }, "last_serial": 4283217, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "1b5fd0f81a0703f3d0737b11cc35be9d", "sha256": "754ab7082c5343a74c9f3089928348622bfc52147062049baa79c53aa584a566" }, "downloads": -1, "filename": "active_semi_supervised_clustering-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1b5fd0f81a0703f3d0737b11cc35be9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40233, "upload_time": "2018-09-18T11:39:54", "url": "https://files.pythonhosted.org/packages/e5/73/4eb6a2966b94de7ca401d87de4104015bf3c911df0434bd99e1eeac67a84/active_semi_supervised_clustering-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7bf75e99c995593f831865fac6922bf", "sha256": "5ce2b210988560754a3ca1ac33bc20f60174c7b700504418355ea09e6c149efc" }, "downloads": -1, "filename": "active-semi-supervised-clustering-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b7bf75e99c995593f831865fac6922bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10498, "upload_time": "2018-09-18T11:39:55", "url": "https://files.pythonhosted.org/packages/84/cc/8189ebe735cd7b6c53869775969d89c6fe2d68a872ddd1cc24df3a38d1ba/active-semi-supervised-clustering-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1b5fd0f81a0703f3d0737b11cc35be9d", "sha256": "754ab7082c5343a74c9f3089928348622bfc52147062049baa79c53aa584a566" }, "downloads": -1, "filename": "active_semi_supervised_clustering-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1b5fd0f81a0703f3d0737b11cc35be9d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40233, "upload_time": "2018-09-18T11:39:54", "url": "https://files.pythonhosted.org/packages/e5/73/4eb6a2966b94de7ca401d87de4104015bf3c911df0434bd99e1eeac67a84/active_semi_supervised_clustering-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7bf75e99c995593f831865fac6922bf", "sha256": "5ce2b210988560754a3ca1ac33bc20f60174c7b700504418355ea09e6c149efc" }, "downloads": -1, "filename": "active-semi-supervised-clustering-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b7bf75e99c995593f831865fac6922bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10498, "upload_time": "2018-09-18T11:39:55", "url": "https://files.pythonhosted.org/packages/84/cc/8189ebe735cd7b6c53869775969d89c6fe2d68a872ddd1cc24df3a38d1ba/active-semi-supervised-clustering-0.0.1.tar.gz" } ] }