From e3c329b2e51b91c385130a0876ade4e2c9f18be3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana?= Date: Mon, 20 Mar 2023 18:57:26 +0100 Subject: [PATCH] Add min_length as percentage of # samples --- src/fimdlp/mdlp.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/fimdlp/mdlp.py b/src/fimdlp/mdlp.py index f22be91..3809b4b 100644 --- a/src/fimdlp/mdlp.py +++ b/src/fimdlp/mdlp.py @@ -98,6 +98,11 @@ class FImdlp(TransformerMixin, BaseEstimator): self._update_params(X, y) self.X_ = X self.y_ = y + self.efective_min_length = ( + self.min_length + if self.min_length > 1 + else int(self.min_length * X.shape[0]) + ) self.discretizer_ = [None] * self.n_features_in_ self.cut_points_ = [None] * self.n_features_in_ Parallel(n_jobs=self.n_jobs, prefer="threads")( @@ -109,7 +114,7 @@ class FImdlp(TransformerMixin, BaseEstimator): def _fit_discretizer(self, feature): if feature in self.features_: self.discretizer_[feature] = CFImdlp( - min_length=self.min_length, + min_length=self.efective_min_length, max_depth=self.max_depth, max_cuts=self.max_cuts, )