-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcall_methods.py
More file actions
181 lines (128 loc) · 5.53 KB
/
call_methods.py
File metadata and controls
181 lines (128 loc) · 5.53 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
def make_network(network_name, *args, **kwargs):
"""
This fucntion import and return model based
on the network_name provided.
Parameters
----------
network_name : str
The name of the network to create.
*args : list
List of arguments to pass to the network.
**kwargs : dict
Dictionary of keyword arguments to pass to the network.
Raises
------
NotImplementedError
If the network_name is not implemented.
"""
if network_name.lower() == "logisticregression":
from models.logistic_regression import LogisticRegressionModel
network = LogisticRegressionModel(*args, **kwargs)
return network
elif network_name.lower() == "kneighborsclassifier":
from models.knn import KnnModel
network = KnnModel(*args, **kwargs)
return network
elif network_name.lower() == "svc":
from models.svm import SvmModel
network = SvmModel(*args, **kwargs)
return network
elif network_name.lower() == "decisiontreeclassifier":
from models.decision_tree import DecisionTreeModel
network = DecisionTreeModel(*args, **kwargs)
return network
elif network_name.lower() == "randomforestclassifier":
from models.random_forest import RandomForestModel
network = RandomForestModel(*args, **kwargs)
return network
elif network_name.lower() == "adaboostclassifier":
from models.adaptive_boost import AdaBoostModel
network = AdaBoostModel(*args, **kwargs)
return network
elif network_name.lower() == "gradientboostingclassifier":
from models.gradient_boost import GradientBoostModel
network = GradientBoostModel(*args, **kwargs)
return network
elif network_name.lower() == "xgbclassifier":
from models.xgboost import XgBoostModel
network = XgBoostModel(*args, **kwargs)
return network
elif network_name.lower() == "catboostclassifier":
from models.cat_boost import CatBoostModel
network = CatBoostModel(*args, **kwargs)
return network
elif network_name.lower() == "lgbmclassifier":
from models.light_gbm import LightGbmModel
network = LightGbmModel(*args, **kwargs)
return network
else:
raise NotImplementedError(f"Model {network_name} not implemented")
def make_params(param_name, *args, **kwargs):
"""
This function import and return hyperparameters
based on the param_name provided.
Parameters
----------
param_name : str
The name of the hyperparameters to create.
*args : list
List of arguments to pass to the hyperparameters.
**kwargs : dict
Dictionary of keyword arguments to pass to the hyperparameters.
Raises
------
NotImplementedError
If the param_name is not implemented
"""
if param_name.lower() == "logisticregression":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_logistic_regression_params
return get_params_func
elif param_name.lower() == "kneighborsclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_knn_params
return get_params_func
elif param_name.lower() == "svc":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_svc_params
return get_params_func
elif param_name.lower() == "decisiontreeclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_decision_tree_params
return get_params_func
elif param_name.lower() == "randomforestclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_random_forest_params
return get_params_func
elif param_name.lower() == "adaboostclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_ada_boost_params
return get_params_func
elif param_name.lower() == "gradientboostingclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_gradient_boosting_params
return get_params_func
elif param_name.lower() == "xgbclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_xgboost_params
return get_params_func
elif param_name.lower() == "catboostclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_cat_boost_params
return get_params_func
elif param_name.lower() == "lgbmclassifier":
from parameters.hyperparameters import Hyperparameters
hyperparams = Hyperparameters(*args, **kwargs)
get_params_func = hyperparams.get_light_gbm_params
return get_params_func
else:
raise NotImplementedError(f"Make parameters for {param_name} not implemented")