From 635dffadf1a646f4a8e99a97a8c607c5301a9799 Mon Sep 17 00:00:00 2001
From: Fize Jacques <jacques.fize@cirad.fr>
Date: Fri, 23 Apr 2021 16:34:42 +0200
Subject: [PATCH] debug

---
 lib/erosion_model.py | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/lib/erosion_model.py b/lib/erosion_model.py
index 6aa7e7d..19b71c5 100644
--- a/lib/erosion_model.py
+++ b/lib/erosion_model.py
@@ -15,7 +15,7 @@ import networkx as nx
 import numpy as np
 float_epsilon = np.finfo(float).eps
 
-VERBOSE = False
+VERBOSE = True
 def log(x):
     if VERBOSE:
         print(x)
@@ -146,10 +146,30 @@ class ErosionModel():
         return X_train,X_test,y_train,y_test
 
 
+def position_str_process(G):
+    def foo(x):
+        return [eval(f) for f in re.findall("[-]?\d+.[-]?[\de+-]+", x)]
+
+    is_pos=True
+    H = G.copy()
+    for n in list(H.nodes()):
+        if not "pos" in H.nodes[n]:
+            is_pos=False
+            break
+    if is_pos:
+        import re
+        for node in list(G.nodes()):
+            try:
+                H.nodes[node]["pos"] = foo(H.nodes[node]["pos"])
+            except TypeError:
+                pass
+    return H
+
 def eval_erosion_model(G,nb_iter=1,verbose=False):
+    G = position_str_process(G)
     erod_mod = ErosionModel(G)
     erod_mod.erode_n_times(nb_iter)
-    X_train, X_test, y_train, y_test = erod_mod.get_features()
+    X_train, X_test, y_train, y_test = erod_mod.get_features(True,True,True)
 
     auc_sbm, auc_spa = get_auc_heuristics(G, 60)
     if verbose:print("SBM: ", auc_sbm, "SPATIAL: ", auc_spa)
-- 
GitLab