def get_tree_objects(self, tree_models, fields, classes): trees = list() for i, tree_model in enumerate(tree_models): if 'list' in str(type(tree_model)): tree_inner = list() for tree_mod in tree_model: main_node = tree_mod.get_Node() all_node = main_node.get_Node() if len(all_node) == 0: continue operator = all_node[0].get_SimplePredicate().get_operator() tt = Tree(fields, [1], operator) tt.get_node_info(all_node) tt.build_tree() model = DecisionTreeRegressor() model.n_features = len(fields) model.n_features_ = len(fields) model.n_outputs_ = 1 model.n_outputs = 1 model.classes_ = np.array(classes) model.tree_ = tt tree_inner.append(model) trees.append(tree_inner) else: main_node = tree_model.get_Node() all_node = main_node.get_Node() if len(all_node) == 0: continue operator = all_node[0].get_SimplePredicate().get_operator() tt = Tree(fields, classes, operator) tt.get_node_info(all_node) tt.build_tree() model = DecisionTreeClassifier() model.n_features = len(fields) model.n_features_ = len(fields) model.n_outputs_ = 1 model.n_outputs = 1 model.classes_ = np.array(classes) model._estimator_type = 'classifier' if len( classes) > 0 else 'regressor' model.tree_ = tt trees.append(model) return trees