From 0705f2778f59c3291b56d523f4f0be2aa9b59545 Mon Sep 17 00:00:00 2001
From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr>
Date: Tue, 4 Apr 2023 16:53:56 -0400
Subject: [PATCH] Feature importance correction

---
 summit/execute.py                                            | 4 ++++
 .../result_analysis/feature_importances.py                   | 5 +++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/summit/execute.py b/summit/execute.py
index ec09ba2a..33ee25fe 100644
--- a/summit/execute.py
+++ b/summit/execute.py
@@ -6,6 +6,10 @@ import os
 def execute(config_path=None):  # pragma: no cover
     import sys
 
+    if not sys.warnoptions:
+        import warnings
+        warnings.simplefilter("ignore")
+
     from summit.multiview_platform import exec_classif
     if config_path is None:
         sum = exec_classif.Summit(config_path=sys.argv[1:])
diff --git a/summit/multiview_platform/result_analysis/feature_importances.py b/summit/multiview_platform/result_analysis/feature_importances.py
index d95fb6e4..4a49e554 100644
--- a/summit/multiview_platform/result_analysis/feature_importances.py
+++ b/summit/multiview_platform/result_analysis/feature_importances.py
@@ -92,8 +92,9 @@ def publish_feature_importances(feature_importances, directory, database_name,
         feature_importances_df = pd.DataFrame(index=indices, columns=columns)
         for df in importance_dfs:
             feature_importances_df = feature_importances_df.combine_first(df)
-
-        feature_importances_df = feature_importances_df/feature_importances_df.sum(axis=0)
+        for col in feature_importances_df.columns:
+            if feature_importances_df[col].sum()!=0:
+                feature_importances_df[col] /= feature_importances_df[col].sum()
         feature_std_df = pd.DataFrame(index=indices, columns=columns)
         if len(std_dfs)>0:
             for df in std_dfs:
-- 
GitLab