Beispiel #1
0
print "Done!"

# Create a list of random graph pairs
print "Creating list of random graph pairs..."
for _ in xrange(100):
    g = nx.watts_strogatz_graph(g_base_nodes, 5, 0.1)
    graphPair = graph_pair_class.GraphPair(g_base, g)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

# Create a list of PING graphs
print "Creating PING graphs..."
for _ in xrange(100):
    g1, g2 = ping.create(2, 10)
    graphPair = graph_pair_class.GraphPair(g1, g2)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

# Convert graphPairs to a Pandas dataframe
data = [g.features + [g.is_isomorphic] for g in graphPairs]
columns = ['feature_' + str(x)
           for x in range(len(feature_list))] + ['is_isomorphic']
data = pd.DataFrame(data, columns=columns)

# Train model on random samples

model = LogisticRegression()
print "Done!"

# Create a list of random graph pairs
print "Creating list of random graph pairs..."
for _ in xrange(100):
    g = nx.watts_strogatz_graph(g_base_nodes, 5, 0.1)
    graphPair = graph_pair_class.GraphPair(g_base, g)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

# Create a list of PING graphs
print "Creating PING graphs..."
for _ in xrange(100):
    g1, g2 = ping.create(2,10)
    graphPair = graph_pair_class.GraphPair(g1,g2)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"


'''Neural Network model'''
X = np.array([g.features for g in graphPairs])
y = np.array([g.is_isomorphic for g in graphPairs])
shuffle = range(len(y))
random.shuffle(shuffle)
X = X[shuffle]
y = y[shuffle]
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

# Create a list of random graph pairs
print "Creating list of random graph pairs..."
for _ in xrange(num_of_graphs):
    g = nx.watts_strogatz_graph(g_base_nodes, 5, 0.1)
    graphPair = graph_pair_class.GraphPair(g_base, g)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

# Create a list of PING graphs
print "Creating PING graphs..."
for _ in xrange(num_of_graphs):
    g1, g2 = ping.create(int(nodes/5),nodes)
    graphPair = graph_pair_class.GraphPair(g1,g2)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

print "Pickling graphs"
filename = 'graphPairs_' + str(nodes) + '_nodes_' + str(len(graphPairs)) + '_pairs.bro'
f = open(filename, 'wb')
pickle.dump(graphPairs, f)
f.close()
print "Done!"
    graphPairs += [graphPair]
print "Done!"

# Create a list of random graph pairs
print "Creating list of random graph pairs..."
for _ in xrange(num_of_graphs):
    g = nx.watts_strogatz_graph(g_base_nodes, 5, 0.1)
    graphPair = graph_pair_class.GraphPair(g_base, g)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

# Create a list of PING graphs
print "Creating PING graphs..."
for _ in xrange(num_of_graphs):
    g1, g2 = ping.create(int(nodes / 5), nodes)
    graphPair = graph_pair_class.GraphPair(g1, g2)
    for f in feature_list:
        graphPair.add_feature(f)
    graphPairs += [graphPair]
print "Done!"

print "Pickling graphs"
filename = 'graphPairs_' + str(nodes) + '_nodes_' + str(
    len(graphPairs)) + '_pairs.bro'
f = open(filename, 'wb')
pickle.dump(graphPairs, f)
f.close()
print "Done!"