Fast implementation of node2vec
Project description
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://github.com/louisabraham/fastnode2vec}
}
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastnode2vec-0.0.7.tar.gz.
File metadata
- Download URL: fastnode2vec-0.0.7.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d34deb7a54cd7e654f04f318826b84fad6f982be2965d2adb19cd3230aa9e2b0
|
|
| MD5 |
708fcbe25189cca11381319af139be55
|
|
| BLAKE2b-256 |
f4e8c508246e1982355366d2d321627ad3b4b8861cb249c99fd1b4b4f48f9d2b
|
File details
Details for the file fastnode2vec-0.0.7-py3-none-any.whl.
File metadata
- Download URL: fastnode2vec-0.0.7-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01a53d87b2515c89459f783cbb949ac9f7a58d85f065d6825556d2b4e1127439
|
|
| MD5 |
add00c4e4098616c978c2fb8aa0ab73b
|
|
| BLAKE2b-256 |
059734e0970b7279064cfc18c38cc1ebfac05767699e2f5e8b1e62f65d29d990
|