diff --git a/pages/application/DecisionTree/utils/dtree.py b/pages/application/DecisionTree/utils/dtree.py index ad48a393c16c041dc26fe059eb7b4ae5101280b3..c6c6bc15cf747c4e6c842dd6a1b0fce54bd0e11b 100644 --- a/pages/application/DecisionTree/utils/dtree.py +++ b/pages/application/DecisionTree/utils/dtree.py @@ -51,8 +51,7 @@ class DecisionTree(): Simple decision tree class. """ - def __init__(self, from_dt=None, from_pickle=None, - mapfile=None, verbose=0): + def __init__(self, from_dt=None, from_pickle=None, verbose=0): """ Constructor. """ @@ -79,15 +78,13 @@ class DecisionTree(): elif from_pickle: self.from_pickle_file(from_pickle) - if mapfile: - self.parse_mapping(mapfile) - else: # no mapping is given - for f in self.feats: - for v in self.fdoms[f]: - self.fvmap[tuple([f, v])] = '{0}={1}'.format(f, v) + for f in self.feats: + for v in self.fdoms[f]: + self.fvmap[tuple([f, v])] = '{0}={1}'.format(f, v) #problem de feature names et problem de vals dans node def from_pickle_file(self, tree): + #help(_tree.Tree) tree_ = tree.tree_ try: feature_names = tree.feature_names_in_ @@ -127,7 +124,6 @@ class DecisionTree(): else: self.terms[node] = class_names[np.argmax(tree_.value[node])] - print("leaf {}".format(tree_.value[node])) return feats, fdoms @@ -143,6 +139,7 @@ class DecisionTree(): self.feids = {f: i for i, f in enumerate(self.feats)} self.fdoms = {f: sorted(self.fdoms[f]) for f in self.fdoms} self.nof_terms = len(self.terms) + self.nof_nodes -= len(self.terms) self.nof_feats = len(self.feats) self.paths = collections.defaultdict(lambda: [])