R/stabilizeImportance.R

Defines functions stabilizeImportance

Documented in stabilizeImportance

#' @title Stabilize conditional importance values
#' @description Compute conditional importance with replicates
#' @usage stabilizeImportance(impt.init,nrep)
#' @param response vector, pedicted variable
#' @param impt.init output of the function varImpPlot used to include the "true" importance related to the initial calibrated RF model
#' @param nrep integer, number of replicates
#' @return Return importance data frame
#' @export
#' @import randomForest
#' @examples # not run: impt.replicates.ord=maturitymodelling::stabilizeImportance(impt.init,nrep)
stabilizeImportance=function(response,impt.init,nrep){
  impt.replicates=array(NA,dim=c(nrep,length(impt.init)))
  colnames(impt.replicates)=names(impt.init)
  impt.replicates[1,]=impt.init
  for(i in 1:(nrep-1)){
    # print(paste( (round(10/(i+1),digits=0)*100) , "%",sep=""))
    print(i)
    rf=randomForest::randomForest(metrics, response,ntree=1000,importance=T,mtry=2)
    impt.replicates[(i+1),]=randomForest::varImpPlot(rf)[,1]
  }
  impt.median=apply(impt.replicates,2,median)
  impt.replicates.ord=impt.replicates[,order(impt.median,decreasing=T)]
  return(impt.replicates.ord)
}
etiennelalechere/maturitymodelling documentation built on Dec. 9, 2022, 8:02 p.m.