# NOT RUN {
# Find the optimal tuning parameters.
n = 50; p = 10
X = matrix(rnorm(n*p), n, p)
W = rbinom(n, 1, 0.5)
Y = pmax(X[,1], 0) * W + X[,2] + pmin(X[,3], 0) + rnorm(n)
Y.hat = predict(regression_forest(X, Y))$predictions
W.hat = rep(0.5, n)
params = tune_causal_forest(X, Y, W, Y.hat, W.hat)$params
# Use these parameters to train a regression forest.
tuned.forest = causal_forest(X, Y, W,
Y.hat = Y.hat, W.hat = W.hat, num.trees = 1000,
min.node.size = as.numeric(params["min.node.size"]),
sample.fraction = as.numeric(params["sample.fraction"]),
mtry = as.numeric(params["mtry"]),
alpha = as.numeric(params["alpha"]),
imbalance.penalty = as.numeric(params["imbalance.penalty"])
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab