code: def pruning(self, X, y, cost_mat):
          
          self.tree_.tree_pruned = copy.deepcopy(self.tree_.tree)
          if self.tree_.n_nodes > 0:
              self._pruning(X, y, cost_mat)
              nodes_pruned = self._nodes(self.tree_.tree_pruned)
              self.tree_.n_nodes_pruned = len(nodes_pruned)
docs: Function that prune the decision tree.
  
          Parameters
          ----------
  
          X : array-like of shape = [n_samples, n_features]
              The input samples.
  
          y_true : array indicator matrix
              Ground truth (correct) labels.
  
          cost_mat : array-like of shape = [n_samples, 4]
              Cost matrix of the classification problem
              Where the columns represents the costs of: false positives, false negatives,
              true positives and true negatives, for each example.