图的表征学习
jwalk的Python项目详细描述
jwalk在图上执行随机游动并学习节点的表示 使用word2vec。它还可以选择在线和指定现有的模型。 重量。
安装
pip install -U jwalk
构建
make build
用法
jwalk -i tests/data/karate.edgelist -o karate.emb --delimiter=' '
查看选项的完整列表:
jwalk --help Prompt parameters: debug: drop a debugger if an exception is raised delimiter: delimiter for input file embedding-size: dimension of word2vec embedding (default=200) has-header: boolean if csv has header row help (-h): argparse help input (-i): file input (edgelist of 2/3 cols or adjacency matrix) log-level (-l) logging level (default=INFO) model (-m): use a pre-existing model num-walks (-n): number of of random walks per graph (default=1) output (-o): file output stats: boolean to calculate walk statistics [requires pandas] undirected: make graph undirected walk-length: length of random walks (default=10) window-size: word2vec window size (default=5) workers: number of workers (default=multiprocessing.cpu_count)
输入文件
输入文件可以是以下格式:
- edgelist:csv,包含2列或3列,表示源、目标和(可选) 体重。 有cli选项可指定分隔符以及文件是否 标题(默认值为false)。 如果未安装pandas,则使用numpy加载csv文件。我们强烈地 建议使用pandas加载csv,因为它要快得多。
- 图表:如果文件的扩展名为“.npz”,jwalk将假定 它是一个SciPy CSR matrix。 必须包含数据、索引、索引、形状和标签的键 (默认值=无)其中标签是节点标签。 例如,请参见tests/data/karate.npz。
测试
运行单元测试:
make test
运行皮棉:
make lint
运行毒性:
make test-all
博客
在我们的博客中阅读更多关于jwalk的信息: https://www.jwplayer.com/blog/deepwalk-recommendations/
许可证
apache许可证2.0
参考文献
- [论文]:arxiv:1403.6652[cs.si]“deepwalk:社会表征的在线学习”
- [论文]:arxiv:1607.00653[cs.si]“node2vec:可扩展的网络特征学习”