Pagerank algoritmasını jung için test etmeye çalışıyorum ama bunu yaparken bir problemim var gibi görünüyor. bir kod bölümü ile bir ağırlıklı ve dolaylı grafik oluşturduk:jung için PageRank algoritması nasıl test edilir?
double[][] adjacencyMatrixForPageRank =FileHelper.calculateSimilaritySentences("E:\\my workspace\\TweetsAnalyser2\\outputFiles\\splittedStemmeredFile-1.txt","");
Graph<String,Integer> g2=FileHelper.createGraphForPageRank("MyGraphForPageRank",adjacencyMatrixForPageRank);
PageRank<String,Integer> pagerank= new PageRank<String,Integer>(g2,alpha1);
pagerank.initialize();
pagerank.setTolerance(0.000001);
pagerank.setMaxIterations(200);
pagerank.evaluate();
ancak tutulması oluşturur:
private static String getId(int nodeId)
{
return "Node " + nodeId;
}
private static String getId(int nodeId, int neighborId)
{
return "Edge " + nodeId + " -> " + neighborId;
}
public static Graph<String, Integer> createGraphForPageRank(String graphId, double[][] adjacencyMatrix)
{
Graph<String,Integer> g = new UndirectedSparseGraph <String,Integer>();
for (int nodeId = 0; nodeId < adjacencyMatrix.length; nodeId++)
g.addVertex(getId(nodeId));
for (int nodeId = 0; nodeId < adjacencyMatrix.length; nodeId++)
for (int neighborId = 0; neighborId < adjacencyMatrix[nodeId].length; neighborId++)
if (adjacencyMatrix[nodeId][neighborId]>0)
g.addEdge(neighborId,getId(nodeId),getId(neighborId));
return(g);
}
sonra, ana sınıfı, benim grafikte pagerank test etmek için bu kod kullanılır Bu hata: "ana" iş parçacığı içinde özel durum java.lang.IllegalArgumentException: edge 4, bu grafikte son noktalarda zaten var ve edu.uci.ics.jung.graph.AbstractGraph.getValidatedEndpoints (ÖzetGraph.java) adresinde uç noktaları ile eklenemiyor : 93) edu.uci.ics.jung.graph adresinde . Edu.uci.ics.jung.graph.AbstractGraph.addEdge (AbstractGraph.java:60) adresinde, edu.uci.ics.jung.graph.AbstractGraph.addEdge (AbstractGraph.) 'Da UndirectedSparseGraph.addEdge (UndirectedSparseGraph.java:64) . java: com.tweets.helpers.FileHelper.createGraphForPageRank (FileHelper.java:1496 55) ) com.tweets.test.Main.main (Main.java:105 at)
Ben olduğunu biliyorum grafik oluşturma ile ilgili problem, ama nasıl çözeceğimi bilmiyorum !! Birisi bana yardım edebilir.
Cevabınız için teşekkürler, ama işe yaramıyor! – Amira
Amira, @amit önerisi hangi şekilde işe yaramıyor? Kodundaki her iki soruna da parmağını koydu. –