P2HNNS


NameP2HNNS JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/petrosDemetrakopoulos/P2HNNS
SummaryA Python library for efficient Point-to-hyperplane nearest neighbours search (P2HNNS)
upload_time2024-02-09 18:39:05
maintainer
docs_urlNone
authorPetros Demetrakopoulos
requires_python
licenseMIT
keywords knn similarity search hyperplance point nearest neighbours
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Point-to-hyperplane nearest neighbours search (P2HNNS)
A Python library for efficient Point-to-hyperplane nearest neighbours search (P2HNNS) using locality sensitive hashing (LSH) approaches.
The library implements the 5 different methods described below.

- Bilinear Hyperplane (BH) hashing 
- Embedding Hyperplane (EH) hashing
- Multilinear Hyperplane (MH) hashing
- Nearest Hyperplane (NH) hashing
- Furthest Hyperplane (FH) hashing

The implementation is based on the original code of [HuangQiang](https://github.com/HuangQiang/P2HNNS) (implemented in C++) and [stepping1st](https://github.com/stepping1st/hyperplane-hash/tree/master)(implemented in Java).

The original papers proposing each method will be explicitly provided in section [Resources](#Resources).

## Installation
The library can be installed via the pip package manager using the following command
```
pip install P2HNNS
```

## Documentation
Extensive documentation for using the library is available via [Read the Docs](https://p2hnns.readthedocs.io/en/latest/index.html)

## Tests
Unit tests are written using the pytest framework for all functionalities of the library. Tests are located in the [/tests](/tests/) directory.

## Resources
- [Point-to-Hyperplane Nearest Neighbor Search Beyond the Unit Hypersphere, SIGMOD 2021](https://dl.acm.org/doi/abs/10.1145/3448016.3457240) (Original FH and NH paper)
- [Compact Hyperplane Hashing with Bilinear Functions, ICML 2012](https://arxiv.org/abs/1206.4618) (Original BH paper)
- [Hashing Hyperplane Queries to Near Points with Applications to Large-Scale Active Learning, NeurIPS 2010](https://proceedings.neurips.cc/paper/2010/hash/470e7a4f017a5476afb7eeb3f8b96f9b-Abstract.html) (Original EH paper)
- [Multilinear Hyperplane Hashing,CVPR 2016](https://openaccess.thecvf.com/content_cvpr_2016/papers/Liu_Multilinear_Hyperplane_Hashing_CVPR_2016_paper.pdf) (Original MH paper)
- [Original C++ implementation by Huang Qiang](https://github.com/HuangQiang/P2HNNS)
- [Java implementation](https://github.com/stepping1st/hyperplane-hash)

## License
The library is licensed under the MIT Software license. You can see more details in the [LICENSE file](./LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/petrosDemetrakopoulos/P2HNNS",
    "name": "P2HNNS",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "KNN,similarity,search,hyperplance,point,nearest,neighbours",
    "author": "Petros Demetrakopoulos",
    "author_email": "petrosdem@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/38/32/7c908f0662106bf18c588dc34ce842369a5b0963945b7e2b2365515dcf44/P2HNNS-1.0.2.tar.gz",
    "platform": null,
    "description": "# Point-to-hyperplane nearest neighbours search (P2HNNS)\nA Python library for efficient Point-to-hyperplane nearest neighbours search (P2HNNS) using locality sensitive hashing (LSH) approaches.\nThe library implements the 5 different methods described below.\n\n- Bilinear Hyperplane (BH) hashing \n- Embedding Hyperplane (EH) hashing\n- Multilinear Hyperplane (MH) hashing\n- Nearest Hyperplane (NH) hashing\n- Furthest Hyperplane (FH) hashing\n\nThe implementation is based on the original code of [HuangQiang](https://github.com/HuangQiang/P2HNNS) (implemented in C++) and [stepping1st](https://github.com/stepping1st/hyperplane-hash/tree/master)(implemented in Java).\n\nThe original papers proposing each method will be explicitly provided in section [Resources](#Resources).\n\n## Installation\nThe library can be installed via the pip package manager using the following command\n```\npip install P2HNNS\n```\n\n## Documentation\nExtensive documentation for using the library is available via [Read the Docs](https://p2hnns.readthedocs.io/en/latest/index.html)\n\n## Tests\nUnit tests are written using the pytest framework for all functionalities of the library. Tests are located in the [/tests](/tests/) directory.\n\n## Resources\n- [Point-to-Hyperplane Nearest Neighbor Search Beyond the Unit Hypersphere, SIGMOD 2021](https://dl.acm.org/doi/abs/10.1145/3448016.3457240) (Original FH and NH paper)\n- [Compact Hyperplane Hashing with Bilinear Functions, ICML 2012](https://arxiv.org/abs/1206.4618) (Original BH paper)\n- [Hashing Hyperplane Queries to Near Points with Applications to Large-Scale Active Learning, NeurIPS 2010](https://proceedings.neurips.cc/paper/2010/hash/470e7a4f017a5476afb7eeb3f8b96f9b-Abstract.html) (Original EH paper)\n- [Multilinear Hyperplane Hashing,CVPR 2016](https://openaccess.thecvf.com/content_cvpr_2016/papers/Liu_Multilinear_Hyperplane_Hashing_CVPR_2016_paper.pdf) (Original MH paper)\n- [Original C++ implementation by Huang Qiang](https://github.com/HuangQiang/P2HNNS)\n- [Java implementation](https://github.com/stepping1st/hyperplane-hash)\n\n## License\nThe library is licensed under the MIT Software license. You can see more details in the [LICENSE file](./LICENSE).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python library for efficient Point-to-hyperplane nearest neighbours search (P2HNNS)",
    "version": "1.0.2",
    "project_urls": {
        "Download": "https://github.com/petrosDemetrakopoulos/P2HNNS/archive/refs/tags/1.0.0.tar.gz",
        "Homepage": "https://github.com/petrosDemetrakopoulos/P2HNNS"
    },
    "split_keywords": [
        "knn",
        "similarity",
        "search",
        "hyperplance",
        "point",
        "nearest",
        "neighbours"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38327c908f0662106bf18c588dc34ce842369a5b0963945b7e2b2365515dcf44",
                "md5": "7598d6173097386fca9a42bf42e8cdee",
                "sha256": "c4f202f00e8e2f68a3d536454e9ef3c17a836ac7d7023019b53122ccc2abe2f5"
            },
            "downloads": -1,
            "filename": "P2HNNS-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "7598d6173097386fca9a42bf42e8cdee",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 3218,
            "upload_time": "2024-02-09T18:39:05",
            "upload_time_iso_8601": "2024-02-09T18:39:05.603472Z",
            "url": "https://files.pythonhosted.org/packages/38/32/7c908f0662106bf18c588dc34ce842369a5b0963945b7e2b2365515dcf44/P2HNNS-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-09 18:39:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "petrosDemetrakopoulos",
    "github_project": "P2HNNS",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "p2hnns"
}
        
Elapsed time: 0.45134s