class_docstr: A Causal Tree regressor class.
  The Causal Tree is a decision tree regressor with a split criteria for treatment effects.
  Details are available at Athey and Imbens (2015) (https://arxiv.org/abs/1504.01132)
class_docstr_tok: ["A","Causal","Tree","regressor","class",".","The","Causal","Tree","is","a","decision","tree","regressor","with","a","split","criteria","for","treatment","effects",".","Details","are","available","at","Athey","and","Imbens","(","2015",")","(","https",":","\/\/arxiv.org\/abs\/1504.01132",")"]
docstr: Predict individual treatment effects
  
  Args:
      X (np.matrix): a feature matrix
      with_outcomes (bool), default=False,
                            include outcomes Y_hat(X|T=0), Y_hat(X|T=1) along with individual treatment effect
      check_input (bool), default=True,
                          Allow to bypass several input checking.
  Returns:
     (np.matrix): individual treatment effect (ITE), dim=nx1
                  or ITE with outcomes [Y_hat(X|T=0), Y_hat(X|T=1), ITE], dim=nx3
docstr_tok: ["Predict","individual","treatment","effects","Args",":","X","(","np.matrix",")",":","a","feature","matrix","with_outcomes","(","bool",")",",","default=False",",","include","outcomes","Y_hat","(","X|T=0",")",",","Y_hat","(","X|T=1",")","along","with","individual","treatment","effect","check_input","(","bool",")",",","default=True",",","Allow","to","bypass","several","input","checking",".","Returns",":","(","np.matrix",")",":","individual","treatment","effect","(","ITE",")",",","dim=nx1","or","ITE","with","outcomes","[","Y_hat","(","X|T=0",")",",","Y_hat","(","X|T=1",")",",","ITE","]",",","dim=nx3"]
code: def predict(
      self, X: np.ndarray, with_outcomes: bool = False, check_input=True
  ) -> np.ndarray:
      """Predict individual treatment effects
  
      Args:
          X (np.matrix): a feature matrix
          with_outcomes (bool), default=False,
                                include outcomes Y_hat(X|T=0), Y_hat(X|T=1) along with individual treatment effect
          check_input (bool), default=True,
                              Allow to bypass several input checking.
      Returns:
         (np.matrix): individual treatment effect (ITE), dim=nx1
                      or ITE with outcomes [Y_hat(X|T=0), Y_hat(X|T=1), ITE], dim=nx3
      """
      if check_input:
          X = self._validate_X_predict(X, check_input)
      y_outcomes = super().predict(X)
      y_pred = y_outcomes[:, 1] - y_outcomes[:, 0]
      need_outcomes = with_outcomes or self._with_outcomes
      return (
          np.hstack([y_outcomes, y_pred.reshape(-1, 1)])
          if need_outcomes
          else y_pred
      )
  
imports: import logging
  import sys
  from typing import Union
  import tqdm
  import numpy
  from numpy import float32
  from pathos.pools import ProcessPool
  from scipy.stats import norm
  from sklearn.base import RegressorMixin
  from sklearn.utils import check_array
  from sklearn.utils.validation import check_is_fitted
  from causalml.inference.meta.utils import check_treatment_vector
  from ._tree import BaseCausalDecisionTree
  from ..utils import get_tree_leaves_mask, timeit
label_desc: Use image node_id 3 for calling the CausalTreeRegressor obj's underlying member method code with example usage: obj.predict(X, with_outcomes, check_input) and returns: unknown