hnne


Namehnne JSON
Version 0.1.10 PyPI version JSON
download
home_page
SummaryA fast hierarchical dimensionality reduction algorithm.
upload_time2023-09-06 19:25:55
maintainer
docs_urlNone
authorMarios Koulakis, Saquib Sarfraz
requires_python
license
keywords dimension dimensionality reduction t-sne umap hierarchical clustering finch
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ==============================================
h-NNE: Hierarchical Nearest Neighbor Embedding
==============================================
A fast hierarchical dimensionality reduction algorithm.

h-NNE is a general purpose dimensionality reduction algorithm such as t-SNE and UMAP. It stands out for its speed,
simplicity and the fact that it provides a hierarchy of clusterings as part of its projection process. The algorithm is
inspired by the FINCH_ clustering algorithm. For more information on the structure of the algorithm, please look at `our
corresponding paper in ArXiv`__:

  M. Saquib Sarfraz\*, Marios Koulakis\*, Constantin Seibold, Rainer Stiefelhagen.
  Hierarchical Nearest Neighbor Graph Embedding for Efficient Dimensionality Reduction. CVPR 2022.

.. __: https://arxiv.org/abs/2203.12997

.. _FINCH: https://github.com/ssarfraz/FINCH-Clustering

More details are available in the `project documentation`__.

.. __: https://hnne.readthedocs.io/en/latest/index.html

------------
Installation
------------
The project is available in PyPI. To install run:

``pip install hnne``

----------------
How to use h-NNE
----------------
The HNNE class implements the common methods of the sklearn interface.

+++++++++++++++++++++++++
Simple projection example
+++++++++++++++++++++++++

.. code:: python

  import numpy as np
  from hnne import HNNE

  data = np.random.random(size=(1000, 256))

  hnne = HNNE(dim=2)
  projection = hnne.fit_transform(data)

++++++++++++++++++++++++++++
Projecting on new points
++++++++++++++++++++++++++++

.. code:: python

  hnne = HNNE()
  projection = hnne.fit_transform(data)

  new_data_projection = hnne.transform(new_data)

-----
Demos
-----
The following demo notebooks are available:

1. `Basic Usage`_

2. `Multiple Projections`_

3. `Clustering for Free`_

4. `Monitor Quality of Network Embeddings`_

.. _Basic Usage: notebooks/demo1_basic_usage.ipynb
.. _Multiple Projections: notebooks/demo2_multiple_projections.ipynb
.. _Clustering for Free: notebooks/demo3_clustering_for_free.ipynb
.. _Monitor Quality of Network Embeddings: notebooks/demo4_monitor_network_embeddings.ipynb

--------
Citation
--------
If you make use of this project in your work, it would be appreciated if you cite the hnne paper:

.. code:: bibtex

    @article{hnne,
      title={Hierarchical Nearest Neighbor Graph Embedding for Efficient Dimensionality Reduction},
      author={M. Saquib Sarfraz, Marios Koulakis, Constantin Seibold, Rainer Stiefelhagen},
      booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
      year = {2022}
    }

If you make use of the clustering properties of the algorithm please also cite:

.. code:: bibtex

    @inproceedings{finch,
      author    = {M. Saquib Sarfraz and Vivek Sharma and Rainer Stiefelhagen},
      title     = {Efficient Parameter-free Clustering Using First Neighbor Relations},
      booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
      pages = {8934--8943},
      year  = {2019}
   }


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "hnne",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "dimension dimensionality reduction t-sne umap hierarchical clustering finch",
    "author": "Marios Koulakis, Saquib Sarfraz",
    "author_email": "marios.koulakis@gmail.com, saquibsarfraz@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/73/5b/b2b16876f810a16694afb11b5c5835774d2cf2ca010ecb7cb6b68c2bba17/hnne-0.1.10.tar.gz",
    "platform": null,
    "description": "==============================================\nh-NNE: Hierarchical Nearest Neighbor Embedding\n==============================================\nA fast hierarchical dimensionality reduction algorithm.\n\nh-NNE is a general purpose dimensionality reduction algorithm such as t-SNE and UMAP. It stands out for its speed,\nsimplicity and the fact that it provides a hierarchy of clusterings as part of its projection process. The algorithm is\ninspired by the FINCH_ clustering algorithm. For more information on the structure of the algorithm, please look at `our\ncorresponding paper in ArXiv`__:\n\n  M. Saquib Sarfraz\\*, Marios Koulakis\\*, Constantin Seibold, Rainer Stiefelhagen.\n  Hierarchical Nearest Neighbor Graph Embedding for Efficient Dimensionality Reduction. CVPR 2022.\n\n.. __: https://arxiv.org/abs/2203.12997\n\n.. _FINCH: https://github.com/ssarfraz/FINCH-Clustering\n\nMore details are available in the `project documentation`__.\n\n.. __: https://hnne.readthedocs.io/en/latest/index.html\n\n------------\nInstallation\n------------\nThe project is available in PyPI. To install run:\n\n``pip install hnne``\n\n----------------\nHow to use h-NNE\n----------------\nThe HNNE class implements the common methods of the sklearn interface.\n\n+++++++++++++++++++++++++\nSimple projection example\n+++++++++++++++++++++++++\n\n.. code:: python\n\n  import numpy as np\n  from hnne import HNNE\n\n  data = np.random.random(size=(1000, 256))\n\n  hnne = HNNE(dim=2)\n  projection = hnne.fit_transform(data)\n\n++++++++++++++++++++++++++++\nProjecting on new points\n++++++++++++++++++++++++++++\n\n.. code:: python\n\n  hnne = HNNE()\n  projection = hnne.fit_transform(data)\n\n  new_data_projection = hnne.transform(new_data)\n\n-----\nDemos\n-----\nThe following demo notebooks are available:\n\n1. `Basic Usage`_\n\n2. `Multiple Projections`_\n\n3. `Clustering for Free`_\n\n4. `Monitor Quality of Network Embeddings`_\n\n.. _Basic Usage: notebooks/demo1_basic_usage.ipynb\n.. _Multiple Projections: notebooks/demo2_multiple_projections.ipynb\n.. _Clustering for Free: notebooks/demo3_clustering_for_free.ipynb\n.. _Monitor Quality of Network Embeddings: notebooks/demo4_monitor_network_embeddings.ipynb\n\n--------\nCitation\n--------\nIf you make use of this project in your work, it would be appreciated if you cite the hnne paper:\n\n.. code:: bibtex\n\n    @article{hnne,\n      title={Hierarchical Nearest Neighbor Graph Embedding for Efficient Dimensionality Reduction},\n      author={M. Saquib Sarfraz, Marios Koulakis, Constantin Seibold, Rainer Stiefelhagen},\n      booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n      year = {2022}\n    }\n\nIf you make use of the clustering properties of the algorithm please also cite:\n\n.. code:: bibtex\n\n    @inproceedings{finch,\n      author    = {M. Saquib Sarfraz and Vivek Sharma and Rainer Stiefelhagen},\n      title     = {Efficient Parameter-free Clustering Using First Neighbor Relations},\n      booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n      pages = {8934--8943},\n      year  = {2019}\n   }\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A fast hierarchical dimensionality reduction algorithm.",
    "version": "0.1.10",
    "project_urls": {
        "Documentation": "https://hnne.readthedocs.io/en/latest/",
        "Publication": "https://arxiv.org/abs/2203.12997",
        "Repository": "https://github.com/koulakis/h-nne"
    },
    "split_keywords": [
        "dimension",
        "dimensionality",
        "reduction",
        "t-sne",
        "umap",
        "hierarchical",
        "clustering",
        "finch"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f264cf06debac24647c6f504c8fd0b0dde1eb8bf0ecc9022b960600b0ee949f",
                "md5": "158ae7a14e7820de0edf0307eee4218a",
                "sha256": "4054bd928118b688a25087f74c42713c709fffadeb5ccfcccd7697b4b8eeb5e3"
            },
            "downloads": -1,
            "filename": "hnne-0.1.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "158ae7a14e7820de0edf0307eee4218a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 19230,
            "upload_time": "2023-09-06T19:25:53",
            "upload_time_iso_8601": "2023-09-06T19:25:53.126100Z",
            "url": "https://files.pythonhosted.org/packages/8f/26/4cf06debac24647c6f504c8fd0b0dde1eb8bf0ecc9022b960600b0ee949f/hnne-0.1.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "735bb2b16876f810a16694afb11b5c5835774d2cf2ca010ecb7cb6b68c2bba17",
                "md5": "e7401b039925b3ee9662ae372c093a3e",
                "sha256": "6c17fe65a3955e8b9510572c2e3471143184ad3123c7f28177a6e11d64f780a6"
            },
            "downloads": -1,
            "filename": "hnne-0.1.10.tar.gz",
            "has_sig": false,
            "md5_digest": "e7401b039925b3ee9662ae372c093a3e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19071,
            "upload_time": "2023-09-06T19:25:55",
            "upload_time_iso_8601": "2023-09-06T19:25:55.671784Z",
            "url": "https://files.pythonhosted.org/packages/73/5b/b2b16876f810a16694afb11b5c5835774d2cf2ca010ecb7cb6b68c2bba17/hnne-0.1.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-06 19:25:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "koulakis",
    "github_project": "h-nne",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "hnne"
}
        
Elapsed time: 0.11153s