@@ -87,6 +87,23 @@ def sort_score(modelScore):
87
87
sorted_dict = dict (sorted (modelScore .items (), key = lambda item : item [1 ],reverse = True ))
88
88
return sorted_dict
89
89
90
+ def eval_model (models ,m ,X ,Y ,k ):
91
+ """
92
+ param1: dictionary
93
+ param2: string
94
+ param3: pd.DataFrame
95
+ param4: pd.Dataframe/pd.Series/numpy.array
96
+ param5: int
97
+ return: float
98
+
99
+ Function to fetch cross validation score for specific models from the dictionary
100
+ """
101
+ if m in ['XGBClassifier' ,'XGBRegressor' ]: model = models [m ][0 ](verbosity = 0 ,n_jobs = 1 )
102
+ elif m in ['CatBoostRegressor' ,'CatBoostClassifier' ]: model = models [m ][0 ](verbose = False )
103
+ elif m in ['LGBMClassifier' ,'LGBMRegressor' ]: model = models [m ][0 ](verbose = - 1 ,n_jobs = 1 )
104
+ else : model = models [m ][0 ]()
105
+ return cv_score (model ,X ,Y ,k )
106
+
90
107
def train_on_sample_data (dataframe ,target ,models ):
91
108
"""
92
109
param1: pandas.DataFrame
@@ -107,10 +124,7 @@ def train_on_sample_data(dataframe,target,models):
107
124
modelScore = {}
108
125
prog .create_progressbar (len (models ),"Quick Search (Stage 1 of 3) :" )
109
126
for m in models :
110
- if m in ['XGBClassifier' ,'XGBRegressor' ]: model = models [m ][0 ](verbosity = 0 )
111
- elif m in ['CatBoostRegressor' ,'CatBoostClassifier' ]: model = models [m ][0 ](verbose = False )
112
- else : model = models [m ][0 ]()
113
- modelScore [m ]= cv_score (model ,X ,Y ,k )
127
+ modelScore [m ]= eval_model (models ,m ,X ,Y ,k )
114
128
prog .trials = prog .trials - 1
115
129
prog .update_progressbar (1 )
116
130
prog .update_progressbar (prog .trials )
@@ -133,10 +147,7 @@ def train_on_full_data(X,Y,models,best):
133
147
modelScore = {}
134
148
prog .create_progressbar (len (best ),"Deep Search (Stage 2 of 3) :" )
135
149
for m in best :
136
- if m in ['XGBClassifier' ,'XGBRegressor' ]: model = models [m ][0 ](verbosity = 0 )
137
- elif m in ['CatBoostRegressor' ,'CatBoostClassifier' ]: model = models [m ][0 ](verbose = False )
138
- else : model = models [m ][0 ]()
139
- modelScore [m ]= cv_score (model ,X ,Y ,k )
150
+ modelScore [m ]= eval_model (models ,m ,X ,Y ,k )
140
151
prog .trials = prog .trials - 1
141
152
prog .update_progressbar (1 )
142
153
prog .update_progressbar (prog .trials )
0 commit comments