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