hnne


Namehnne JSON
Version 1.0.2 PyPI version JSON
download
home_pageNone
SummaryA fast hierarchical dimensionality reduction algorithm.
upload_time2024-10-22 16:56:49
maintainerNone
docs_urlNone
authorMarios Koulakis, Saquib Sarfraz
requires_pythonNone
licenseNone
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.
            .. image:: https://github.com/koulakis/h-nne/actions/workflows/actions.yml/badge.svg?branch=main
    :target: https://github.com/koulakis/h-nne/actions/workflows/actions.yml
    :alt: Build Status

.. image:: https://readthedocs.org/projects/hnne/badge/?version=latest
    :target: https://hnne.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status



==============================================
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 CVPR 2022`__:

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

.. __: https://openaccess.thecvf.com/content/CVPR2022/papers/Sarfraz_Hierarchical_Nearest_Neighbor_Graph_Embedding_for_Efficient_Dimensionality_Reduction_CVPR_2022_paper.pdf

.. _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
+++++++++++++++++++++++++

Below a dataset of dimensionality 256 is projected to 2 dimensions.

.. code:: python

  import numpy as np
  from hnne import HNNE

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

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

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

Once a dataset has been projected, one can apply the transform and project new points to the same dimension.

.. 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}
   }

------------
Contributing
------------

Contributions are very welcome :-) Please check the `contributions guide`__ for more details.

.. __: docs/source/guide/contributions.rst

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "hnne",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "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/3d/de/8ad4d824f1ab5791bdfc8ab78ecdef20acdcf7b8bbee977a1f4adde2805d/hnne-1.0.2.tar.gz",
    "platform": null,
    "description": ".. image:: https://github.com/koulakis/h-nne/actions/workflows/actions.yml/badge.svg?branch=main\n    :target: https://github.com/koulakis/h-nne/actions/workflows/actions.yml\n    :alt: Build Status\n\n.. image:: https://readthedocs.org/projects/hnne/badge/?version=latest\n    :target: https://hnne.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n\n\n==============================================\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 CVPR 2022`__:\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://openaccess.thecvf.com/content/CVPR2022/papers/Sarfraz_Hierarchical_Nearest_Neighbor_Graph_Embedding_for_Efficient_Dimensionality_Reduction_CVPR_2022_paper.pdf\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\nBelow a dataset of dimensionality 256 is projected to 2 dimensions.\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(n_components=2)\n  projection = hnne.fit_transform(data)\n\n++++++++++++++++++++++++++++\nProjecting on new points\n++++++++++++++++++++++++++++\n\nOnce a dataset has been projected, one can apply the transform and project new points to the same dimension.\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------------\nContributing\n------------\n\nContributions are very welcome :-) Please check the `contributions guide`__ for more details.\n\n.. __: docs/source/guide/contributions.rst\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A fast hierarchical dimensionality reduction algorithm.",
    "version": "1.0.2",
    "project_urls": {
        "Documentation": "https://hnne.readthedocs.io/en/latest",
        "Publication": "https://openaccess.thecvf.com/content/CVPR2022/papers/Sarfraz_Hierarchical_Nearest_Neighbor_Graph_Embedding_for_Efficient_Dimensionality_Reduction_CVPR_2022_paper.pdf",
        "Repository": "https://github.com/koulakis/h-nne"
    },
    "split_keywords": [
        "dimension",
        "dimensionality",
        "reduction",
        "t-sne",
        "umap",
        "hierarchical",
        "clustering",
        "finch"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3dde8ad4d824f1ab5791bdfc8ab78ecdef20acdcf7b8bbee977a1f4adde2805d",
                "md5": "b02dbb3f600c26f2f70d7a5c9dfe5dea",
                "sha256": "f341d341e43a16835517177c3df15a73af5083b0b33e682a2829afc6f8cd2fdb"
            },
            "downloads": -1,
            "filename": "hnne-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "b02dbb3f600c26f2f70d7a5c9dfe5dea",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 16119,
            "upload_time": "2024-10-22T16:56:49",
            "upload_time_iso_8601": "2024-10-22T16:56:49.124059Z",
            "url": "https://files.pythonhosted.org/packages/3d/de/8ad4d824f1ab5791bdfc8ab78ecdef20acdcf7b8bbee977a1f4adde2805d/hnne-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-22 16:56:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "koulakis",
    "github_project": "h-nne",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "hnne"
}
        
Elapsed time: 0.40360s