aboutsummaryrefslogtreecommitdiffstats
path: root/src/cascade_creation.py
diff options
context:
space:
mode:
authorjeanpouget-abadie <jean.pougetabadie@gmail.com>2015-02-01 16:33:04 -0500
committerjeanpouget-abadie <jean.pougetabadie@gmail.com>2015-02-01 16:33:04 -0500
commite8369874088c0ae4b1d98f79f5bae3319de2ac6d (patch)
tree1ab49efbcdab69a7eaad354bb869883b769ab9c9 /src/cascade_creation.py
parent0991a13214af4023259465f132f09e6c66f3895c (diff)
downloadcascades-e8369874088c0ae4b1d98f79f5bae3319de2ac6d.tar.gz
updating code to Python 3
Diffstat (limited to 'src/cascade_creation.py')
-rw-r--r--src/cascade_creation.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/cascade_creation.py b/src/cascade_creation.py
index 1d77bd2..4c47d8b 100644
--- a/src/cascade_creation.py
+++ b/src/cascade_creation.py
@@ -1,7 +1,7 @@
import networkx as nx
import numpy as np
import collections
-from itertools import izip
+#from itertools import izip
from sklearn.preprocessing import normalize
class InfluenceGraph(nx.DiGraph):
@@ -30,7 +30,7 @@ class InfluenceGraph(nx.DiGraph):
def mat(self):
if not hasattr(self, '_mat'):
self._mat = (self.max_proba * np.random.rand(len(self), len(self))
- * np.asarray(nx.adjacency_matrix(self)))
+ * np.asarray(nx.adjacency_matrix(self).todense()))
return self._mat
@property
@@ -52,7 +52,7 @@ class Cascade(list):
Returns lists of infections times for node i in cascade
"""
infected_times = []
- for t, infected_set in izip(xrange(len(self)), self):
+ for t, infected_set in zip(range(len(self)), self):
if infected_set[node]:
infected_times.append(t)
if not infected_times:
@@ -96,7 +96,7 @@ def generate_cascades(G, p_init, n_cascades):
"""
returns list of cascades
"""""
- return [icc_cascade(G,p_init) for i in xrange(n_cascades)]
+ return [icc_cascade(G,p_init) for i in range(n_cascades)]
def icc_matrixvector_for_node(cascades, node):
@@ -116,10 +116,12 @@ def icc_matrixvector_for_node(cascades, node):
t_i = cascade.infection_time(node)[0]
if t_i != 0:
indicator = np.zeros(len(cascade[:t_i]))
- if t_i > 0:
+ if t_i:
indicator[-1] = 1
w.append(indicator)
M.append(np.array(cascade[:t_i]))
+ if not M:
+ print("Node {} was never infected at t != 0".format(node))
M = np.vstack(M)
w = np.hstack(w)
return M, w