Data & AI Literacy Month
Hear from leaders powering AI transformation

VSURF (version 0.6)

VSURF.thres.tune: Tuning of the thresholding step of VSURF

Description

This function allows to tune the "thresholding step" of VSURF, without rerunning all computations.

Usage

VSURF.thres.tune(res.thres, nmin = 1)

Arguments

res.thres
An object of class VSURF.thres, which is the result of the VSURF.thres function.
nmin
Number of times the "minimum value" is multiplied to set threshold value. See details below.

Value

  • A list with the following components:
  • varselect.thresA vector of indices of selected variables, sorted according to their mean VI, in decreasing order.
  • imp.varselect.thresA vector of importances of the varselect.thres variables.
  • min.thresThe minimum predicted value of a pruned CART tree fitted to the curve of the standard deviations of VI.
  • num.varselect.thresThe number of selected variables.
  • ord.impA list containing the order of all variables mean importance. $x contains the mean importances in decreasing order. $ix contains indices of the variables.
  • ord.sdA vector of standard deviations of all variables importances. The order is given by ord.imp.
  • mean.perfThe mean OOB error rate, obtained by a random forests build with all variables.
  • pred.pruned.treeeThe predictions of the CART tree fitted to the curve of the standard deviations of VI.

Details

In VSURF.thres function, the actual threshold is performed like this: only variables with a mean VI larger than nmin * min.thres are kept. The function VSURF.thres.tune allows you to change the value of nmin (which multiply the estimated threshold value min.thres), without rerunning all computations. To get a softer threshold than default, choose a value of nmin less than 1, and to get a harder one, choose a value larger than 1.

References

Genuer, R. and Poggi, J.M. and Tuleau-Malot, C. (2010), Variable selection using random forests, Pattern Recognition Letters 31(14), 2225-2236

See Also

VSURF, VSURF.thres

Examples

Run this code
data(iris)
iris.thres <- VSURF.thres(x=iris[,1:4], y=iris[,5], ntree=100, nfor.thres=20)
iris.thres.tuned <- VSURF.thres.tune(res.thres=iris.thres, nmin=10)
iris.thres.tuned

Run the code above in your browser using DataLab