From 9db16d9d3cdc1d3e19c09e6d7e09cc73c759f9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana?= Date: Tue, 20 Dec 2022 01:11:39 +0100 Subject: [PATCH] feat: :sparkles: Add version method to cppfimdlp --- .gitignore | 9 +++++---- src/fimdlp/cfimdlp.pyx | 5 ++++- src/fimdlp/mdlp.py | 12 +++++++++--- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index fc73bb7..2d86bc8 100644 --- a/.gitignore +++ b/.gitignore @@ -33,8 +33,8 @@ MANIFEST *.manifest *.spec -# Installer log2s -pip-log2.txt +# Installer logs +pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports @@ -56,7 +56,7 @@ coverage.xml *.pot # Django stuff: -*.log2 +*.log local_settings.py db.sqlite3 db.sqlite3-journal @@ -134,4 +134,5 @@ cmake-build-debug cmake-build-debug/** **/lcoverage/** **/x/* -**/*.so \ No newline at end of file +**/*.so +**/CMakeFiles \ No newline at end of file diff --git a/src/fimdlp/cfimdlp.pyx b/src/fimdlp/cfimdlp.pyx index 83812ac..25a55dc 100644 --- a/src/fimdlp/cfimdlp.pyx +++ b/src/fimdlp/cfimdlp.pyx @@ -1,7 +1,7 @@ # distutils: language = c++ # cython: language_level = 3 from libcpp.vector cimport vector -from libcpp cimport bool +from libcpp.string cimport string cdef extern from "../cppmdlp/CPPFImdlp.h" namespace "mdlp": ctypedef float precision_t @@ -9,6 +9,7 @@ cdef extern from "../cppmdlp/CPPFImdlp.h" namespace "mdlp": CPPFImdlp(int) except + CPPFImdlp& fit(vector[precision_t]&, vector[int]&) vector[precision_t] getCutPoints() + string version() cdef class CFImdlp: @@ -22,4 +23,6 @@ cdef class CFImdlp: return self def get_cut_points(self): return self.thisptr.getCutPoints() + def get_version(self): + return self.thisptr.version() diff --git a/src/fimdlp/mdlp.py b/src/fimdlp/mdlp.py index 86441e7..92db4dc 100644 --- a/src/fimdlp/mdlp.py +++ b/src/fimdlp/mdlp.py @@ -99,9 +99,15 @@ class FImdlp(TransformerMixin, BaseEstimator): return self def _fit_discretizer(self, feature): - self.discretizer_[feature] = CFImdlp(proposal=self.proposal) - self.discretizer_[feature].fit(self.X_[:, feature], self.y_) - self.cut_points_[feature] = self.discretizer_[feature].get_cut_points() + if feature in self.features_: + self.discretizer_[feature] = CFImdlp(proposal=self.proposal) + self.discretizer_[feature].fit(self.X_[:, feature], self.y_) + self.cut_points_[feature] = self.discretizer_[ + feature + ].get_cut_points() + else: + self.discretizer_[feature] = None + self.cut_points_[feature] = [] def _discretize_feature(self, feature, X, result): if feature in self.features_: