summaryrefslogtreecommitdiffstats
path: root/experiments/ml3.pyx
diff options
context:
space:
mode:
authorBen Green <ben@SEASITs-MacBook-Pro.local>2015-06-28 17:38:33 -0400
committerBen Green <ben@SEASITs-MacBook-Pro.local>2015-06-28 17:38:33 -0400
commit6e527bbf612465bf5d739b9652abc0165550993c (patch)
tree9525bed16d9e4568747855afd84a03937090f1cb /experiments/ml3.pyx
parent7167a81cfb8b872dd1547e5a8669004b191417db (diff)
downloadcriminal_cascades-6e527bbf612465bf5d739b9652abc0165550993c.tar.gz
Worked on synthetic data recovery so we can tell how high the actual
infector is ranked among all potential parents. Cleaned up code for the predicting victims benchmarking test.
Diffstat (limited to 'experiments/ml3.pyx')
-rw-r--r--experiments/ml3.pyx15
1 files changed, 7 insertions, 8 deletions
diff --git a/experiments/ml3.pyx b/experiments/ml3.pyx
index faeda92..da993bc 100644
--- a/experiments/ml3.pyx
+++ b/experiments/ml3.pyx
@@ -6,7 +6,7 @@ from libc.math cimport log, exp
DTYPE = np.float64
ctypedef np.float_t DTYPE_t
-cdef DTYPE_t weight_success(int dist, int dt, DTYPE_t alpha, DTYPE_t delta,
+cdef DTYPE_t weight_success(int dist, DTYPE_t dt, DTYPE_t alpha, DTYPE_t delta,
DTYPE_t w1, DTYPE_t w2, DTYPE_t w3):
"""weight for successful infection, exponential time model"""
cdef DTYPE_t structural, temporal, result
@@ -15,7 +15,7 @@ cdef DTYPE_t weight_success(int dist, int dt, DTYPE_t alpha, DTYPE_t delta,
result = log(structural) + temporal
return result
-cdef DTYPE_t weight_failure(int dist, int dt, DTYPE_t alpha, DTYPE_t delta,
+cdef DTYPE_t weight_failure(int dist, DTYPE_t dt, DTYPE_t alpha, DTYPE_t delta,
DTYPE_t w1, DTYPE_t w2, DTYPE_t w3):
"""weight for failed infection, exponential time model"""
cdef DTYPE_t structural, temporal, result
@@ -43,21 +43,20 @@ def ml3(dict root_victims, dict victims, dict non_victims, DTYPE_t age,
# for each victim node i, compute the probability that all its parents
# fail to infect it, also computes the probability that its most
# likely parent infects it
- failures = [weight_failure(dist, dt, alpha, delta, w1, w2, w3)
+ failures = [weight_failure(dist, dt/100., alpha, delta, w1, w2, w3)
for (dist, dt, w1, w2, w3) in parents]
probs_fail[i] = sum(failures)
- successes = [weight_success(dist, dt, alpha, delta, w1, w2, w3)
+ successes = [weight_success(dist, dt/100., alpha, delta, w1, w2, w3)
for (dist, dt, w1, w2, w3) in parents]
dists = [dist for (dist, dt, w1, w2, w3) in parents]
dts = [dt for (dist, dt, w1, w2, w3) in parents]
# find parent that maximizes log(p) - log(\tilde{p})
# probs[i] = max(s - failures[l] for l, s in enumerate(successes))
- # probs[i] = 0.
+ probs[i] = float("-inf")
for l, s in enumerate(successes):
prob = s - failures[l]
- if prob > -19.523275053840013:
- isSeed[i] = 0
- probs[i] += prob
+ if prob > probs[i]:
+ probs[i] = prob
parent_dists[i] = dists[l]
parent_dts[i] = dts[l]
# probs_fail[i] = failures[l]