【问题标题】:How to use PageRank algorithm in JUNG?如何在 JUNG 中使用 PageRank 算法?
【发布时间】:2012-03-18 09:27:53
【问题描述】:

我使用 JUNG 作为我的工具来可视化网络图和计算网络属性(例如:入度、出度和页面排名)。

我知道JUNG已经实现了PageRank算法,但是手册中没有关于使用pagerank算法的说明(http://jung.sourceforge.net/doc/index.html)。

有人知道怎么做吗?

我也尝试了以下代码,但出现错误“Vertex CLP Holdings Ltd not an element of this graph”。

public void calcPageRank()
{
   PageRank<MyNode, MyLink> alg = new PageRank<MyNode, MyLink>(g,0.1);
   alg.initialize();
   System.out.println(alg.getVertexScore(new MyNode(53084,"CLP Holdings Ltd")));    
}

代码文件为here

谢谢!!

【问题讨论】:

  • 实际上,如果您通过从code.google.com/p/jung/source/checkout 获取的 m2e Maven SVN SCM 连接器签出来构建 JUNG,它对 edu.uci.ics.jung.algorithms.scoring 包下的类进行单元测试,其中包括 TestPageRank 单元测试类和 @987654325 @单元测试类
  • 嗨,eee,我仍然对如何在 JUNG 中使用 pagerank 算法感到困惑。你能根据我的代码给出一些具体的解决方案吗?我跟踪了代码(AbstractIterativeScorer.java)并怀疑我在我的程序(MyNode)中使用了不同的数据结构。它导致 pagerank 算法在图中找不到我的顶点并抛出 IllegalArgumentException 异常。谢谢~
  • 你看过Javadoc吗?还是教程?至于你得到的错误,最好的猜测是(a)顶点实际上不在你的图中,或者(b)你没有在你的 MyNode 类中以兼容的方式定义 equals() 和 hashCode() 。 (旁注:“initialize()”?我假设您的意思是“evaluate()”。
  • 我已经阅读了来自 eee 的 Javadoc 和示例代码。我真的很确定顶点在图中,但程序找不到任何顶点。我已经定义了用于比较 MyNode 类的 equals()。但似乎程序仍然以默认方式比较 Mynode 类。我没有启动一个新的 Mynode,而是使用了存储在我预定义的 ArrayList 中的节点,它可以工作! alg.getVertexScore(new MyNode(53084,"CLP Holdings Ltd"))----> 错误,alg.getVertexScore(CompanyNodeList.get(1))---> 好的,我现在不知道该怎么办。 Joshua O'Madadhain,感谢您的评论。
  • 注意:你的假设是对的,我错了。

标签: jung pagerank


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2023-03-29
  • 2014-12-28
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多