Learn R Programming

VSURF (version 0.8.2)

tune.VSURF.thres: Tuning of the thresholding and interpretation steps of VSURF

Description

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

Usage

## S3 method for class 'VSURF.thres':
tune(x, nmin = 1, ...)

## S3 method for class 'VSURF.interp': tune(x, nsd = 1, ...)

Arguments

x
An object of class VSURF.thres or VSURF.interp, which is the result of the VSURF.thres or VSURF.interp function.
nmin
Number of times the "minimum value" is multiplied to set threshold value. See details below.
nsd
Number of times the standard deviation of the minimum value of err.interp is multiplied. See details below.
...
Not used.

Value

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 tune.VSURF.thres 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.

In VSURF.interp function, the smallest model (and hence its corresponding variables) having a mean OOB error rate less than err.min + nsd * sd.min is selected. The function tune.VSURF.interp allows to change the value of nsd (which multiply the standard deviation of the minimum OOB error rate sd.min), without rerunning all computations. To get a larger model than default, choose a value of nsd less than 1, and to get a smaller 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, VSURF.interp

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 <- tune(x=iris.thres, nmin=10)
iris.thres.tuned
iris.interp <- VSURF.interp(x=iris[,1:4], y=iris[,5], vars=iris.thres$varselect.thres,
                            nfor.interp=10)
iris.interp.tuned <- tune(x=iris.interp, nsd=10)
iris.interp.tuned

Run the code above in your browser using DataLab