From a86dff875814b9409fa98c552829d82b2a0b7d22 Mon Sep 17 00:00:00 2001
From: Charly Lamothe <charly.lamothe@univ-amu.fr>
Date: Fri, 22 Nov 2019 22:46:08 +0100
Subject: [PATCH] - Add missing LOG_PATH in two init files; - Move bolsonaro
 imports on top of the file in compute_hyperparam file; - Move
 change_binary_func_load to utils file.

---
 code/bolsonaro/data/__init__.py       |  3 +++
 code/bolsonaro/data/dataset_loader.py | 12 +-----------
 code/bolsonaro/models/__init__.py     |  3 +++
 code/bolsonaro/utils.py               | 11 ++++++++++-
 code/compute_hyperparameters.py       | 17 ++++++++---------
 5 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/code/bolsonaro/data/__init__.py b/code/bolsonaro/data/__init__.py
index e69de29..ce8e424 100644
--- a/code/bolsonaro/data/__init__.py
+++ b/code/bolsonaro/data/__init__.py
@@ -0,0 +1,3 @@
+import os
+
+LOG_PATH = os.path.abspath(os.path.dirname(__file__) + os.sep + '..' + os.sep + '..' + os.sep + 'log')
diff --git a/code/bolsonaro/data/dataset_loader.py b/code/bolsonaro/data/dataset_loader.py
index f4a6d08..b22ecaa 100644
--- a/code/bolsonaro/data/dataset_loader.py
+++ b/code/bolsonaro/data/dataset_loader.py
@@ -1,5 +1,6 @@
 from bolsonaro.data.dataset import Dataset
 from bolsonaro.data.task import Task
+from bolsonaro.utils import change_binary_func_load
 
 from sklearn.datasets import load_boston, load_iris, load_diabetes, \
     load_digits, load_linnerud, load_wine, load_breast_cancer
@@ -9,17 +10,6 @@ from sklearn.datasets import fetch_olivetti_faces, fetch_20newsgroups, \
 from sklearn.model_selection import train_test_split
 from sklearn import preprocessing
 
-from bolsonaro.utils import binarize_class_data
-
-
-def change_binary_func_load(base_load_function):
-    def func_load(return_X_y):
-        X, y = base_load_function(return_X_y=return_X_y)
-        possible_classes = sorted(set(y))
-        assert len(possible_classes) == 2, "Function change binary_func_load only work for binary classfication"
-        y = binarize_class_data(y, possible_classes[-1])
-        return X, y
-    return func_load
 
 class DatasetLoader(object):
 
diff --git a/code/bolsonaro/models/__init__.py b/code/bolsonaro/models/__init__.py
index e69de29..ce8e424 100644
--- a/code/bolsonaro/models/__init__.py
+++ b/code/bolsonaro/models/__init__.py
@@ -0,0 +1,3 @@
+import os
+
+LOG_PATH = os.path.abspath(os.path.dirname(__file__) + os.sep + '..' + os.sep + '..' + os.sep + 'log')
diff --git a/code/bolsonaro/utils.py b/code/bolsonaro/utils.py
index 21c7f72..d7509ad 100644
--- a/code/bolsonaro/utils.py
+++ b/code/bolsonaro/utils.py
@@ -63,4 +63,13 @@ def binarize_class_data(data, class_pos, inplace=True):
     data[~(position_class_labels)] = -1
     data[(position_class_labels)] = +1
 
-    return data
\ No newline at end of file
+    return data
+
+def change_binary_func_load(base_load_function):
+    def func_load(return_X_y):
+        X, y = base_load_function(return_X_y=return_X_y)
+        possible_classes = sorted(set(y))
+        assert len(possible_classes) == 2, "Function change binary_func_load only work for binary classfication"
+        y = binarize_class_data(y, possible_classes[-1])
+        return X, y
+    return func_load
diff --git a/code/compute_hyperparameters.py b/code/compute_hyperparameters.py
index 414a7df..0f7aa3a 100644
--- a/code/compute_hyperparameters.py
+++ b/code/compute_hyperparameters.py
@@ -1,9 +1,16 @@
+from bolsonaro import LOG_PATH
+from bolsonaro.data.dataset_loader import DatasetLoader
+from bolsonaro.data.dataset_parameters import DatasetParameters
+from bolsonaro.data.task import Task
+from bolsonaro.error_handling.logger_factory import LoggerFactory
+from bolsonaro.hyperparameter_searcher import HyperparameterSearcher
+from bolsonaro.utils import save_obj_to_json
+
 import argparse
 import os
 import pathlib
 import pickle
 import random
-
 from dotenv import find_dotenv, load_dotenv
 
 """
@@ -13,14 +20,6 @@ the issue described here https://github.com/scikit-optimize/scikit-optimize/issu
 """
 from skopt.space import Categorical, Integer, Real
 
-from bolsonaro import LOG_PATH
-from bolsonaro.data.dataset_loader import DatasetLoader
-from bolsonaro.data.dataset_parameters import DatasetParameters
-from bolsonaro.data.task import Task
-from bolsonaro.error_handling.logger_factory import LoggerFactory
-from bolsonaro.hyperparameter_searcher import HyperparameterSearcher
-from bolsonaro.utils import save_obj_to_json
-
 
 def clean_numpy_int_dict(dictionary):
     return dict([a, int(x)] if type(x) == Integer else
-- 
GitLab