1

igraph-python のGraph.Read_Ncol関数を使用しています。以下は、データを読み取るための私のコードです。

def loadData(filename):
    data = None
    data = ig.Graph.Read_Ncol(filename, directed=False)
    return data

SNAP グループのこのデータセットを使用しています: https://snap.stanford.edu/data/ca-GrQc.html 前述のように、データセットには 14496 のエッジと 5242 のノードがあります。

ただしdata.summary()、グラフを作成すると、次の出力が得られます。

>>> data.summary()
'IGRAPH UN-- 5242 28980 -- \n+ attr: name (v)'

data.to_undirected()やり直してもdata.summary()、上記と同じ結果が得られます。

>>> data.to_undirected()
>>> data.summary()
'IGRAPH UN-- 5242 28980 -- \n+ attr: name (v)'

SNAP ライブラリを無向に使用してグラフをロードすると、正しい出力が得られます。

def loadData(filename):
    data = None
    data = snap.LoadEdgeList(snap.PUNGraph,filename,0,1)

    return data

私は何を間違っていますか?または、igraph API に問題がありますか?

4

1 に答える 1

3

ほとんどのエッジはネットワークに 2 回表示され、igraph はそれらを複数のエッジとして追加します。simplify()グラフを呼び出して、これらの複数のエッジを削除します。http://igraph.org/python/doc/igraph.GraphBase-class.html#simplify

于 2014-09-24T17:08:31.830 に答える