aboutsummaryrefslogtreecommitdiffstats
path: root/src/algorithms.py
diff options
context:
space:
mode:
authorjeanpouget-abadie <jean.pougetabadie@gmail.com>2015-02-02 22:45:07 -0500
committerjeanpouget-abadie <jean.pougetabadie@gmail.com>2015-02-02 22:45:07 -0500
commitda8c267a9d10deb593e98d06c26ad09afd2af3b1 (patch)
treefe09aa8099841c209597c913b20a97eed136e3c0 /src/algorithms.py
parent683dbbdff11b7aa3b99641c82c3413c9c1bd1d9b (diff)
downloadcascades-da8c267a9d10deb593e98d06c26ad09afd2af3b1.tar.gz
model section
Diffstat (limited to 'src/algorithms.py')
-rw-r--r--src/algorithms.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/algorithms.py b/src/algorithms.py
index 926d9bc..9ebccf1 100644
--- a/src/algorithms.py
+++ b/src/algorithms.py
@@ -31,7 +31,7 @@ def greedy_prediction(G, cascades):
return G_hat
-def recovery_l1obj_l2constraint(G, cascades, floor_cstt, passed_function,
+def recovery_passed_function(G, cascades, floor_cstt, passed_function,
*args, **kwargs):
"""
Returns estimated graph from convex program specified by passed_function
@@ -40,11 +40,13 @@ def recovery_l1obj_l2constraint(G, cascades, floor_cstt, passed_function,
G_hat = cascade_creation.InfluenceGraph(max_proba=None)
G_hat.add_nodes_from(G.nodes())
+ f_x, f_xz = passed_function(*args, **kwargs)
+
for node in G_hat.nodes():
print(node)
try:
M, w = cascade_creation.icc_matrixvector_for_node(cascades, node)
- p_node, __ = passed_function(M,w, *args, **kwargs)
+ p_node, _ = convex_optimization.diff_and_opt(M, w, f_x, f_xz)
G_hat = cascade_creation.add_edges_from_proba_vector(G=G_hat,
p_node=p_node, node=node, floor_cstt=floor_cstt)
except timeout.TimeoutError:
@@ -86,15 +88,15 @@ def test():
unit test
"""
G = cascade_creation.InfluenceGraph(max_proba = .8)
- G.erdos_init(n = 10, p = .2)
+ G.erdos_init(n = 100, p = .2)
import time
t0 = time.time()
A = cascade_creation.generate_cascades(G, .2, 1000)
- if 1:
- G_hat = greedy_prediction(G, A)
if 0:
- G_hat = recovery_l1obj_l2constraint(G, A,
- passed_function=convex_optimization.l1obj_l2penalization,
+ G_hat = greedy_prediction(G, A)
+ if 1:
+ G_hat = recovery_passed_function(G, A,
+ passed_function=convex_optimization.type_lasso,
floor_cstt=.1, lbda=10)
correctness_measure(G, G_hat, print_values=True)