bartMachine (version 1.2.3)

bart_machine_get_posterior: Get Full Posterior Distribution

Description

Generates draws from posterior distribution of $\hat{f}(x)$ for a specified set of observations.

Usage

bart_machine_get_posterior(bart_machine, new_data)

Arguments

bart_machine
An object of class ``bartMachine''.
new_data
A data frame containing observations at which draws from posterior distribution of $\hat{f}(x)$ are to be obtained.

Value

  • Returns a list with the following components:
  • y_hatPosterior mean estimates. For regression, the estimates have the same units as the response. For classification, the estimates are probabilities.
  • new_dataThe data frame with rows at which the posterior draws are to be generated. Column names should match that of the training data.
  • y_hat_posterior_samplesThe full set of posterior samples of size num_iterations_after_burn_in for each observation. For regression, the estimates have the same units as the response. For classification, the estimates are probabilities.

See Also

calc_credible_intervals, calc_prediction_intervals

Examples

Run this code
#Regression example

#generate Friedman data
set.seed(11)
n  = 200 
p = 5
X = data.frame(matrix(runif(n * p), ncol = p))
y = 10 * sin(pi* X[ ,1] * X[,2]) +20 * (X[,3] -.5)^2 + 10 * X[ ,4] + 5 * X[,5] + rnorm(n)

##build BART regression model
bart_machine = bartMachine(X, y)

#get posterior distribution
posterior = bart_machine_get_posterior(bart_machine, X)
print(posterior$y_hat)


#Classification example

#get data and only use 2 factors
data(iris)
iris2 = iris[51:150,]
iris2$Species = factor(iris2$Species)

#build BART classification model
bart_machine = bartMachine(iris2[ ,1 : 4], iris2$Species)

#get posterior distribution
posterior = bart_machine_get_posterior(bart_machine, iris2[ ,1 : 4])
print(posterior$y_hat)

Run the code above in your browser using DataCamp Workspace