#' @title Woe Glm Feature Importance
#'
#' @description
#' This function allows the calculate feature importance for a given glm model with WOE transformation method.
#'
#' @param model_data A model data set needs to be specified.
#' @param model A GLM model built by WOE transformation should be given.
#' @param default_flag The default flag need to specified as string.
#' @keywords creditR
#' @export
#' @examples
#' woe.glm.feature.importance(model_data_v1, my_model,"default_f")
woe.glm.feature.importance <- function(model_data, model, default_flag){
model_importance_std <- matrix(data=NA, ncol=1, nrow = (length(model_data)-1))
model_importance_colnames <- matrix(data=NA, ncol=1, nrow = (length(model_data)-1))
number <- which(colnames(model_data) == default_flag)
imp_data <- model_data[,-number]
coef <- as.data.frame(model$coefficients)
for(i in 1:length(imp_data)){
colname <- colnames(imp_data[i])
number_row <- which(rownames(coef) == colname)
model_importance_std[i,] <- coef[number_row,]*sd(imp_data[,colname])
model_importance_colnames[i,] <- colnames(imp_data[i])
}
return_data <- as.data.frame(cbind(model_importance_colnames, model_importance_std))
colnames(return_data) <- c("Variables", "beta_std")
return_data$beta_std <- as.numeric(as.character(return_data$beta_std))
return_data$importance <- return_data$beta_std / sum(return_data$beta_std)
return(return_data)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.