From 900cccf76b47f2ad7be5b1cc12e2ad70aacf26bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Monta=C3=B1ana?= Date: Sat, 25 Feb 2023 18:52:21 +0100 Subject: [PATCH] Update discretizer to new library --- src/cppmdlp | 2 +- src/fimdlp/cfimdlp.pyx | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/cppmdlp b/src/cppmdlp index 32a6fd9..964555d 160000 --- a/src/cppmdlp +++ b/src/cppmdlp @@ -1 +1 @@ -Subproject commit 32a6fd9ba0553da691ed9f5b2011bef48cd33d6a +Subproject commit 964555de20175f4c1cd9a2d9525fa1bcca783322 diff --git a/src/fimdlp/cfimdlp.pyx b/src/fimdlp/cfimdlp.pyx index 8892e8b..8d1a630 100644 --- a/src/fimdlp/cfimdlp.pyx +++ b/src/fimdlp/cfimdlp.pyx @@ -3,18 +3,22 @@ from libcpp.vector cimport vector from libcpp.string cimport string +cdef extern from "limits.h": + cdef int INT_MAX cdef extern from "../cppmdlp/CPPFImdlp.h" namespace "mdlp": ctypedef float precision_t cdef cppclass CPPFImdlp: CPPFImdlp() except + + CPPFImdlp(int, int) except + CPPFImdlp& fit(vector[precision_t]&, vector[int]&) + int get_depth() vector[precision_t] getCutPoints() string version() cdef class CFImdlp: cdef CPPFImdlp *thisptr - def __cinit__(self): - self.thisptr = new CPPFImdlp() + def __cinit__(self, int min_length=3, int max_depth=INT_MAX): + self.thisptr = new CPPFImdlp(min_length, max_depth) def __dealloc__(self): del self.thisptr def fit(self, X, y): @@ -24,6 +28,8 @@ cdef class CFImdlp: return self.thisptr.getCutPoints() def get_version(self): return self.thisptr.version() + def get_depth(self): + return self.thisptr.get_depth() def __reduce__(self): return (CFImdlp, ())