in causalml/inference/tree/uplift.pyx [0:0]
def __init__(self,
control_name,
n_estimators=10,
max_features=10,
random_state=None,
max_depth=5,
min_samples_leaf=100,
min_samples_treatment=10,
n_reg=10,
early_stopping_eval_diff_scale=1,
evaluationFunction='KL',
normalization=True,
honesty=False,
estimation_sample_size=0.5,
n_jobs=-1,
joblib_prefer: str = "threads"):
"""
Initialize the UpliftRandomForestClassifier class.
"""
self.n_estimators = n_estimators
self.max_features = max_features
self.random_state = random_state
self.max_depth = max_depth
self.min_samples_leaf = min_samples_leaf
self.min_samples_treatment = min_samples_treatment
self.n_reg = n_reg
self.early_stopping_eval_diff_scale = early_stopping_eval_diff_scale
self.evaluationFunction = evaluationFunction
self.control_name = control_name
self.normalization = normalization
self.honesty = honesty
self.n_jobs = n_jobs
self.joblib_prefer = joblib_prefer
assert control_name is not None and isinstance(control_name, str), \
f"control_group should be string but {control_name} is passed"
self.control_name = control_name
self.classes_ = [control_name]
self.n_class = 1
if self.n_jobs == -1:
self.n_jobs = mp.cpu_count()