File size: 1,690 Bytes
8d94a86
 
 
 
 
3cfb9a3
 
 
8d94a86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3cfb9a3
8d94a86
3cfb9a3
8d94a86
 
 
 
3cfb9a3
8d94a86
3cfb9a3
8d94a86
3cfb9a3
8d94a86
3cfb9a3
8d94a86
3cfb9a3
 
 
 
8d94a86
3cfb9a3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def get_values_from_container_class(container):
    return container.x_train, container.y_train, container.x_test, container.y_test, container.hyper_params_optimize


def transform_params_list(params_class, params_list, model=None):
    # test
    print("params_class: {}, params_list: {}".format(str(params_class), str(params_list)))

    input_params_keys = []
    input_params_values = []
    inner_value_list = []

    keys = params_class.get_params(model).keys() if model else params_class.get_params().keys()
    for i, param in enumerate(params_list):
        if param in keys:
            input_params_keys.append(param)
            if i != 0:
                input_params_values.append(inner_value_list)
            inner_value_list = []
        else:
            inner_value_list.append(param)
    else:
        input_params_values.append(inner_value_list)
    params = dict(zip(input_params_keys, input_params_values))

    for k, v in params.items():
        if k in keys:
            value_type = params_class.get_params_type(model)[k] if model else params_class.get_params_type()[k]
            try:
                if value_type == "int":
                    params[k] = [int(x) for x in params[k]]
                elif value_type == "float":
                    params[k] = [float(x) for x in params[k]]
                elif value_type == "bool":
                    params[k] = [x == "True" for x in params[k]]
                elif value_type == "str":
                    params[k] = [str(x) for x in params[k]]
            except Exception:
                params[k] = [str(x) for x in params[k]]

    # test
    print("params: {}".format(str(params)))

    return params