diff --git a/examples/Feature_Selection.ipynb b/examples/Feature_Selection.ipynb index 39264e7..f8f0d99 100644 --- a/examples/Feature_Selection.ipynb +++ b/examples/Feature_Selection.ipynb @@ -2230,7 +2230,7 @@ "from lumin.optimisation.features import auto_filter_on_linear_correlation\n", "\n", "filtered_feats = auto_filter_on_linear_correlation(train_df=train_df.loc[trn_idxs], val_df=train_df.loc[val_idxs],\n", - " check_feats=hl_feats, subsample_rate=0.01, n_rfs=5,\n", + " check_feats=hl_feats, subsample_rate=subsample_rate, n_rfs=5,\n", " corr_threshold=0.8, rf_params=rf_params, optimise_rf=False,\n", " objective='classification', targ_name='gen_target',\n", " wgt_name='gen_weight', strat_key='gen_target')" @@ -2882,7 +2882,7 @@ " check_feats=import_feats,\n", " objective='classification', targ_name='gen_target',\n", " strat_key='gen_target', wgt_name='gen_weight',\n", - " subsample_rate=0.3,\n", + " subsample_rate=subsample_rate,\n", " rf_params=OrderedDict({'min_samples_leaf': [2,4,8,16,32],\n", " 'max_features': [0.3,0.5,0.7,0.9]}),\n", " optimise_rf=True)" diff --git a/lumin/nn/callbacks/cyclic_callbacks.py b/lumin/nn/callbacks/cyclic_callbacks.py index 024bd46..6632e27 100644 --- a/lumin/nn/callbacks/cyclic_callbacks.py +++ b/lumin/nn/callbacks/cyclic_callbacks.py @@ -3,7 +3,7 @@ from fastcore.all import store_attr from .callback import Callback, OldCallback -from ..models.abs_model import AbsModel, OldAbsModel +from ..models.abs_model import OldAbsModel from ...plotting.plot_settings import PlotSettings import seaborn as sns diff --git a/lumin/nn/callbacks/monitors.py b/lumin/nn/callbacks/monitors.py index 54fe95d..0daec1d 100644 --- a/lumin/nn/callbacks/monitors.py +++ b/lumin/nn/callbacks/monitors.py @@ -1,6 +1,5 @@ from fastcore.all import store_attr import math -from typing import Optional import numpy as np from fastprogress.fastprogress import IN_NOTEBOOK from IPython.display import display @@ -10,8 +9,6 @@ import seaborn as sns from .callback import Callback -from ..models.abs_model import AbsModel -from ...plotting.plot_settings import PlotSettings __all__ = ['EarlyStopping', 'SaveBest', 'MetricLogger'] diff --git a/lumin/nn/data/fold_yielder.py b/lumin/nn/data/fold_yielder.py index 74ea48f..3050c1c 100644 --- a/lumin/nn/data/fold_yielder.py +++ b/lumin/nn/data/fold_yielder.py @@ -75,7 +75,7 @@ def columns(self) -> List[str]: return [k for k in self.foldfile["fold_0"].keys()] - def add_ignore(self, feats:List[str]) -> None: + def add_ignore(self, feats:Union[str,List[str]]) -> None: r''' Add features to ignored features. @@ -83,6 +83,7 @@ def add_ignore(self, feats:List[str]) -> None: feats: list of feature names to ignore ''' + if not is_listy(feats): feats = [feats] self._ignore_feats += feats self.cont_feats = [f for f in self.cont_feats if f not in self._ignore_feats] self.cat_feats = [f for f in self.cat_feats if f not in self._ignore_feats] diff --git a/lumin/nn/models/model.py b/lumin/nn/models/model.py index 3204fe1..5c74d7f 100644 --- a/lumin/nn/models/model.py +++ b/lumin/nn/models/model.py @@ -173,7 +173,7 @@ def fit(self, n_epochs:int, fy:FoldYielder, bs:int, bulk_move:bool=True, train_o elif not is_listy(cbs): cbs = [cbs] cyclic_cbs,loss_cbs = [],[] for c in cbs: - if isinstance(c, AbsCyclicCallback): cyclic_cbs.append(c) # CBs that might prrevent a model from stopping training due to a hyper-param cycle + if isinstance(c, AbsCyclicCallback): cyclic_cbs.append(c) # CBs that might prevent a model from stopping training due to a hyper-param cycle if hasattr(c, "get_loss"): loss_cbs.append(c) # CBs that produce alternative losses that should be considered self.fit_params = FitParams(cbs=cbs, cyclic_cbs=cyclic_cbs, loss_cbs=loss_cbs, stop=False, n_epochs=n_epochs, fy=fy, val_idx=val_idx, bs=bs,