图的表征学习

jwalk的Python项目详细描述


Build StatusDocumentation Status

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:可扩展的网络特征学习”

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用split函数分割字符串,但没有得到期望的结果   未找到包含derby数据库嵌入架构的sql Java桌面应用程序错误   java elasticsearch vs solr用于定制全文搜索系统   java Android:创建没有startOffset的动画延迟?   java如何查看其他应用程序接收的数据?   java如何在Linux中使用D和classpath选项运行jar文件   java和域设计最佳实践   具有相同内存位置的java数组,将显示为输出   连接到java中的elasticsearch?   Java Playframework重定向到带有Json负载的外部url   java无法在Android平台上使用InputStream为蓝牙socket创建ObjectInputStream   使用POI将Excel日期转换为Java日期,年份未正确显示   oracle从数据库层还是Java层调用webservice?