A grouped variable importance with Random Forests

Description

A permutation variable importance for groups of variables with Random Forests.

Usage

1
2
3
varImpGroup(object, xdata, ngroups = length(nvarGroup), nvarGroup,
            idxGroup, groupsNames = names(nvarGroup), 
            normalize = (length(unique(nvarGroup)) != 1))

Arguments

object

A randomForest object.

xdata

The input data.

ngroups

The number of groups.

nvarGroup

The vector of the number of variables in each group.

idxGroup

A list of size ‘ngroups’ containing the indexes of each group starting from 0.

groupsNames

The group names.

normalize

Should the normalized grouped importance measure be computed.

Value

An object of class ‘importance’ which is a vector of the importance for each group.

Author(s)

Baptiste Gregorutti

References

Gregorutti, B., Michel, B. and Saint Pierre, P. (2015). Grouped variable importance with random forests and application to multiple functional data analysis, Computational Statistics and Data Analysis 90, 15-35.

See Also

selectGroup,selectLevel,selectFunctional,plot.importance

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  data(toyClassif)
  attach(toyClassif)

  rf <- randomForest(x=X,y=Y,keep.forest=TRUE, keep.inbag=TRUE, ntree=500)
  ngroups <- 3
  nvarGroup <- c(4,3,6)
  idxGroup <- list(c(0,1,2,5), c(2,4,5), c(0,1,5,6,7,8))
  grImp <- varImpGroup(rf, X, ngroups, nvarGroup, idxGroup, NULL, normalize=FALSE )
  cat("Group importance\n", grImp, "\n")

  detach(toyClassif)