タグネットワークを作成してブログのネットワークを分析しています(重み=共有タグの数/いずれかにあるタグの総数で共通のタグを共有するブログ間のエッジ。グラフには約10000個のノードがあります。変換する必要があります生データを GraphML 形式に変換し、そのために python networkx を使用しています。しかし、メモリが不足しています。Python を初めて使用するので、ここで何が間違っているのか教えてください。(または、ハードウェアの問題ですか?) ? 私のシステムは i3、3GB メモリです)
#!/usr/bin/env python
import sys
import networkx as nx
G=nx.Graph()
tags=[]
for line in open(sys.argv[1]):#Each blog has all its tags in a single line
tags.append(set(line.split(',')))#tags are separated by comma.
for i in xrange(len(tags)):
G.add_node(i+1)
for i in xrange(len(tags)):
for j in xrange(i+1,len(tags)):
p=len(tags[i].intersection(tags[j]))
q=len(tags[i].union(tags[j]))
if p!=0 and q!=0:
G.add_edge(i+1,j+1,weight=float(p)/q)
nx.write_graphml(G,sys.argv[1]+'.graphml')