Skip to content

Commit c0fdab0

Browse files
author
sborms
committed
finetune ffs & tutorials
1 parent 919458b commit c0fdab0

4 files changed

Lines changed: 304 additions & 286 deletions

File tree

cobra/model_building/forward_selection.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ def _forward_selection(self,
211211

212212
max_steps = 1 + min(self.max_predictors,
213213
len(predictors) + len(forced_predictors))
214+
214215
for step in tqdm(range(1, max_steps), desc="Sequentially adding best "
215216
"predictor..."):
216217
if step <= len(forced_predictors):
@@ -233,9 +234,14 @@ def _forward_selection(self,
233234
.union(set(model.predictors)))
234235

235236
fitted_models.append(model)
237+
# else:
238+
# # If model returns None for the first time,
239+
# # one can in theory stop the feature selection process
240+
# # but we leave it run such that tqdm cleanly finishes
241+
# break
236242

237243
if not fitted_models:
238-
log.error("No models found in forward selection")
244+
log.error("No models found in forward selection.")
239245

240246
return fitted_models
241247

@@ -283,6 +289,7 @@ def _find_next_best_model(self,
283289
# Train a model with an additional predictor
284290
model = self._train_model(fit_data, target_column_name,
285291
(current_predictors + [pred]))
292+
286293
# Evaluate the model
287294
performance = (model
288295
.evaluate(sel_data[current_predictors + [pred]],

cobra/model_building/models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ def get_coef(self) -> np.array:
303303
np.array
304304
Array of model coefficients.
305305
"""
306-
return self.linear.coef_[0]
306+
return self.linear.coef_
307307

308308
def get_intercept(self) -> float:
309309
"""Returns the intercept of the model.
@@ -323,7 +323,7 @@ def get_coef_by_predictor(self) -> dict:
323323
dict
324324
A map ``{predictor: coefficient}``.
325325
"""
326-
return dict(zip(self.predictors, self.linear.coef_[0]))
326+
return dict(zip(self.predictors, self.linear.coef_))
327327

328328
def fit(self, X_train: pd.DataFrame, y_train: pd.Series):
329329
"""Fit the model.

0 commit comments

Comments
 (0)