diff options
| author | jeanpouget-abadie <jean.pougetabadie@gmail.com> | 2015-02-02 22:45:07 -0500 |
|---|---|---|
| committer | jeanpouget-abadie <jean.pougetabadie@gmail.com> | 2015-02-02 22:45:07 -0500 |
| commit | da8c267a9d10deb593e98d06c26ad09afd2af3b1 (patch) | |
| tree | fe09aa8099841c209597c913b20a97eed136e3c0 /src/algorithms.py | |
| parent | 683dbbdff11b7aa3b99641c82c3413c9c1bd1d9b (diff) | |
| download | cascades-da8c267a9d10deb593e98d06c26ad09afd2af3b1.tar.gz | |
model section
Diffstat (limited to 'src/algorithms.py')
| -rw-r--r-- | src/algorithms.py | 16 |
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) |
