Prediction of test data using random forest.
# S3 method for RRF
predict(object, newdata, type="response",
norm.votes=TRUE, predict.all=FALSE, proximity=FALSE, nodes=FALSE,
cutoff, ...)
an object of class RRF
, as that
created by the function RRF
.
a data frame or matrix containing new data. (Note: If
not given, the out-of-bag prediction in object
is returned.
one of response
, prob
. or votes
,
indicating the type of output: predicted values, matrix of class
probabilities, or matrix of vote counts. class
is allowed, but
automatically converted to "response", for backward compatibility.
Should the vote counts be normalized (i.e.,
expressed as fractions)? Ignored if object$type
is
regression
.
Should the predictions of all trees be kept?
Should proximity measures be computed? An error is
issued if object$type
is regression
.
Should the terminal node indicators (an n by ntree matrix) be return? If so, it is in the ``nodes'' attribute of the returned object.
(Classification only) A vector of length equal to
number of classes. The `winning' class for an observation is the
one with the maximum ratio of proportion of votes to cutoff.
Default is taken from the forest$cutoff
component of
object
(i.e., the setting used when running
RRF
).
not used currently.
If object$type
is regression
, a vector of predicted
values is returned. If predict.all=TRUE
, then the returned
object is a list of two components: aggregate
, which is the
vector of predicted values by the forest, and individual
, which
is a matrix where each column contains prediction by a tree in the
forest.
If object$type
is classification
, the object returned
depends on the argument type
:
predicted classes (the classes with majority vote).
matrix of class probabilities (one column for each class and one row for each input).
matrix of vote counts (one column for each class
and one row for each new input); either in raw counts or in fractions
(if norm.votes=TRUE
).
If predict.all=TRUE, then the individual component of the returned object is a character matrix where each column contains the predicted class by a tree in the forest.
If proximity=TRUE, the returned object is a list with two components: pred is the prediction (as described above) and proximity is the proximitry matrix. An error is issued if object$type is regression.
If nodes=TRUE, the returned object has a ``nodes'' attribute, which is an n by ntree matrix, each column containing the node number that the cases fall in for that tree.
NOTE: If the object inherits from RRF.formula, then any data with NA are silently omitted from the prediction. The returned value will contain NA correspondingly in the aggregated and individual tree predictions (if requested), but not in the proximity or node matrices.
NOTE2: Any ties are broken at random, so if this is undesirable, avoid it by using odd number ntree in RRF().
Breiman, L. (2001), Random Forests, Machine Learning 45(1), 5-32.
# NOT RUN { data(iris) set.seed(111) ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.8, 0.2)) iris.rf <- RRF(Species ~ ., data=iris[ind == 1,]) iris.pred <- predict(iris.rf, iris[ind == 2,]) table(observed = iris[ind==2, "Species"], predicted = iris.pred) ## Get prediction for all trees. predict(iris.rf, iris[ind == 2,], predict.all=TRUE) ## Proximities. predict(iris.rf, iris[ind == 2,], proximity=TRUE) ## Nodes matrix. str(attr(predict(iris.rf, iris[ind == 2,], nodes=TRUE), "nodes")) # }