Skip to main content

Fast implementation of node2vec

Project description

PyPI version DOI

fastnode2vec

Really fast implementation of node2vec based on numba and gensim. Memory usage is linear and scales with your data unlike most other implementations. The algorithm is described in this blog post.

API

Node2Vec inherits from gensim's Word2Vec, all its APi is valid.

from fastnode2vec import Graph, Node2Vec

graph = Graph([("a", "b"), ("b", "c"), ("c", "a"), ("a", "d")],
              directed=False, weighted=False)

# or
graph = Graph([("a", "b", 1), ("b", "c", 2), ("c", "a", 3), ("a", "d", 4)],
              directed=False, weighted=True)

n2v = Node2Vec(graph, dim=10, walk_length=100, context=10, p=2.0, q=0.5, workers=2)

n2v.train(epochs=100)

print(n2v.wv["a"])

CLI

Usage: fastnode2vec [OPTIONS] FILENAME

Options:
  --directed
  --weighted
  --dim INTEGER          [required]
  --p FLOAT
  --q FLOAT
  --walk-length INTEGER  [required]
  --context INTEGER
  --epochs INTEGER       [required]
  --workers INTEGER
  --batch-walks INTEGER
  --debug PATH
  --output PATH
  --help                 Show this message and exit.

Compute embeddings of the Gnutella peer-to-peer network:

wget https://snap.stanford.edu/data/p2p-Gnutella08.txt.gz
fastnode2vec p2p-Gnutella08.txt.gz --dim 16 --walk-length 100 --epochs 10 --workers 2

Load embeddings produced by the CLI

Just use the Word2Vec API.

from gensim.models import KeyedVectors

wv = KeyedVectors.load("p2p-Gnutella08.txt.gz.wv", mmap='r')

Citing

If you have used this software in a scientific publication, please cite it using the following BibLaTeX code:

@software{fastnode2vec,
  author       = {Louis Abraham},
  title        = {fastnode2vec},
  year         = 2020,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.3902632},
  url          = {https://doi.org/10.5281/zenodo.3902632}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastnode2vec-0.0.5.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

fastnode2vec-0.0.5-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file fastnode2vec-0.0.5.tar.gz.

File metadata

  • Download URL: fastnode2vec-0.0.5.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for fastnode2vec-0.0.5.tar.gz
Algorithm Hash digest
SHA256 afdf77b5cf10522d388ef49c8868a859b369e783a9be716cb54109fa14c5f408
MD5 388d73e4666f9cefcd302d936ee490b8
BLAKE2b-256 633fbe346aee155fd2e0a3f4910ac16565015a1429a0f66571ec5a560390587d

See more details on using hashes here.

File details

Details for the file fastnode2vec-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: fastnode2vec-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for fastnode2vec-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1857337f3fead11f18ead6960419fd6debc7e883b86eed7eb18dc37c25019680
MD5 9f73ed29dc59ceabf040bf083c933c1f
BLAKE2b-256 bdc1116c1b3a8531dfec95522be645195f80aeec4725a13efcd9d4c2e4966319

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page