heatgeo


Nameheatgeo JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/KrishnaswamyLab/heatgeo
SummaryHeat geodesic embeddings
upload_time2023-07-04 21:10:07
maintainer
docs_urlNone
authorguillaumehu
requires_python>=3.7
licenseApache Software License 2.0
keywords nbdev jupyter notebook python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Start with HeatGeo

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

The Heat-Geodesic embedding preserves the heat-geodesic dissimilarity
defined as
```math
d_t(x_i,x_j) = \bigg[ -4t \log (\mathbf{H}_t)_{ij} - \sigma 4 t \log(\mathbf{V})_{ij} \bigg] ^{1/2},
```
where $\mathbf{H}_t$ is a heat kernel on a graph, and $\mathbf{V}$ is
a volume regularization term. This dissimilarity is inspired by
Varadhan’s formula which relates the heat kernel to the geodesic
distance on a manifold. For more details on the heat-geodesic
dissimilarity read our preprint [A Heat Diffusion Perspective on
Geodesic Preserving Dimensionality
Reduction](https://arxiv.org/abs/2305.19043).

<div>

> **Note**
>
> We are currently updating this repository to provide examples and
> improve the documentation.

</div>

## Install

The package is not yet available with pip or conda. To install it, you
can clone this repo and install from `setup.py`.

``` sh
git clone https://github.com/KrishnaswamyLab/HeatGeo.git
cd HeatGeo
pip install -e .
```

To reproduce the results in `experiments/` or try the embeddings with
different graph constructions, you need additional packages that can be
installed via the development version. In this case run

``` sh
cd HeatGeo
pip install -e '.[dev]'
```

We provide an example below.

## How to use

Google colab example on the swiss roll [![Run in Google
Colab](https://img.shields.io/static/v1?label=Run%20in&message=Google%20Colab&color=orange&logo=Google%20Cloud.png)](https://colab.research.google.com/drive/1SkxGfWz8KLQpcea9MsdP7QEoe-yh5Iai?usp=sharing)

The directory `experiments` contains code to reproduce our main results.
We used `hydra`, the parameters can be changed in `config` or directly
in the CLI. In `notebooks`, we provide examples on toy datasets.

## Contributing

We are using `nbdev` for this package and the documentation. See this
[introduction](https://nbdev.fast.ai/tutorials/tutorial.html) to start
using `nbdev`. The code and documentation should be modified in the
notebooks `nbs/`, then run `nbdev_prepare` before a commit. This command
will export the notebooks to `.py` files in `heatgeo`, it will also
clean the metadata, and run some test. The page will then automatically
be deployed through GitHub actions.

## Acknowledgements

This repository is a simplified version of a larger codebase used for
development. It loses the original commit history which contains
contributions from other authors of the paper. This repository uses or
modify code from the PHATE
[implementation](https://github.com/KrishnaswamyLab/PHATE), and the
Chebychev polynomials
[implementation](https://github.com/sibyllema/Fast-Multiscale-Diffusion-on-Graphs)
of the paper [Fast Multiscale Diffusion on
Graphs](https://arxiv.org/abs/2104.14652).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/KrishnaswamyLab/heatgeo",
    "name": "heatgeo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "nbdev jupyter notebook python",
    "author": "guillaumehu",
    "author_email": "guillaumehuguet2@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1f/86/b9d77f604dcd3bcd139751a3467c3069cb9cde3fe669b2b84e1a56befb65/heatgeo-0.0.1.tar.gz",
    "platform": null,
    "description": "# Start with HeatGeo\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\nThe Heat-Geodesic embedding preserves the heat-geodesic dissimilarity\ndefined as\n```math\nd_t(x_i,x_j) = \\bigg[ -4t \\log (\\mathbf{H}_t)_{ij} - \\sigma 4 t \\log(\\mathbf{V})_{ij} \\bigg] ^{1/2},\n```\nwhere $\\mathbf{H}_t$ is a heat kernel on a graph, and $\\mathbf{V}$ is\na volume regularization term. This dissimilarity is inspired by\nVaradhan\u2019s formula which relates the heat kernel to the geodesic\ndistance on a manifold. For more details on the heat-geodesic\ndissimilarity read our preprint [A Heat Diffusion Perspective on\nGeodesic Preserving Dimensionality\nReduction](https://arxiv.org/abs/2305.19043).\n\n<div>\n\n> **Note**\n>\n> We are currently updating this repository to provide examples and\n> improve the documentation.\n\n</div>\n\n## Install\n\nThe package is not yet available with pip or conda. To install it, you\ncan clone this repo and install from `setup.py`.\n\n``` sh\ngit clone https://github.com/KrishnaswamyLab/HeatGeo.git\ncd HeatGeo\npip install -e .\n```\n\nTo reproduce the results in `experiments/` or try the embeddings with\ndifferent graph constructions, you need additional packages that can be\ninstalled via the development version. In this case run\n\n``` sh\ncd HeatGeo\npip install -e '.[dev]'\n```\n\nWe provide an example below.\n\n## How to use\n\nGoogle colab example on the swiss roll [![Run in Google\nColab](https://img.shields.io/static/v1?label=Run%20in&message=Google%20Colab&color=orange&logo=Google%20Cloud.png)](https://colab.research.google.com/drive/1SkxGfWz8KLQpcea9MsdP7QEoe-yh5Iai?usp=sharing)\n\nThe directory `experiments` contains code to reproduce our main results.\nWe used `hydra`, the parameters can be changed in `config` or directly\nin the CLI. In `notebooks`, we provide examples on toy datasets.\n\n## Contributing\n\nWe are using `nbdev` for this package and the documentation. See this\n[introduction](https://nbdev.fast.ai/tutorials/tutorial.html) to start\nusing `nbdev`. The code and documentation should be modified in the\nnotebooks `nbs/`, then run `nbdev_prepare` before a commit. This command\nwill export the notebooks to `.py` files in `heatgeo`, it will also\nclean the metadata, and run some test. The page will then automatically\nbe deployed through GitHub actions.\n\n## Acknowledgements\n\nThis repository is a simplified version of a larger codebase used for\ndevelopment. It loses the original commit history which contains\ncontributions from other authors of the paper. This repository uses or\nmodify code from the PHATE\n[implementation](https://github.com/KrishnaswamyLab/PHATE), and the\nChebychev polynomials\n[implementation](https://github.com/sibyllema/Fast-Multiscale-Diffusion-on-Graphs)\nof the paper [Fast Multiscale Diffusion on\nGraphs](https://arxiv.org/abs/2104.14652).\n",
    "bugtrack_url": null,
    "license": "Apache Software License 2.0",
    "summary": "Heat geodesic embeddings",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://github.com/KrishnaswamyLab/heatgeo"
    },
    "split_keywords": [
        "nbdev",
        "jupyter",
        "notebook",
        "python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c26093ecccdf1cc6db5473cf971a22f6b681570d0c1b724111faa0dde13285a",
                "md5": "3bd2226c79ae2cfd02919017dfe0dea9",
                "sha256": "5f84a876f84cd946281f265d879a2e0712ae043af8dbb52ce14687a2afdb46d5"
            },
            "downloads": -1,
            "filename": "heatgeo-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3bd2226c79ae2cfd02919017dfe0dea9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 18906,
            "upload_time": "2023-07-04T21:10:06",
            "upload_time_iso_8601": "2023-07-04T21:10:06.426057Z",
            "url": "https://files.pythonhosted.org/packages/3c/26/093ecccdf1cc6db5473cf971a22f6b681570d0c1b724111faa0dde13285a/heatgeo-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f86b9d77f604dcd3bcd139751a3467c3069cb9cde3fe669b2b84e1a56befb65",
                "md5": "c250026d33318d534f692a4caf7c436b",
                "sha256": "8aa51f9e3f2c8618633d6e6189f2ea7cb0fb42aad08affb77eed4e7878eb1be3"
            },
            "downloads": -1,
            "filename": "heatgeo-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c250026d33318d534f692a4caf7c436b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 18400,
            "upload_time": "2023-07-04T21:10:07",
            "upload_time_iso_8601": "2023-07-04T21:10:07.951169Z",
            "url": "https://files.pythonhosted.org/packages/1f/86/b9d77f604dcd3bcd139751a3467c3069cb9cde3fe669b2b84e1a56befb65/heatgeo-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-04 21:10:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "KrishnaswamyLab",
    "github_project": "heatgeo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "heatgeo"
}
        
Elapsed time: 0.13131s