Nothing
#' Print method for logic forest models
#'
#' Prints the important predictors from a fitted logic forest model.
#'
#' @param x An object of class \code{"logforest"}.
#' @param sortby A character string specifying whether to sort the predictors by \code{"importance"} (default) or \code{"frequency"}.
#' @param ... Additional arguments (currently ignored).
#'
#' @return No return value. This function is called for its side effects (printing).
#'
#' @export
print.logforest<-function(x, sortby = 'importance', ...)
{
if (inherits(x)!= "logforest")
stop("n not of class logforest")
num<-x$numout
OOBerr<-x$OOBmiss
#MN added if statements to work with sortby option
if (sortby == 'frequency') {
pscore<-x$Predictor.importance
pred.freq<-sort(x$Predictor.frequency[names(pscore)[1:num]], decreasing=TRUE, na.last = TRUE)
piscore<-x$PI.importance
vimp.freq<-sort(x$PI.frequency[names(piscore)[1:num]], decreasing=TRUE, na.last = TRUE)
}
else if (sortby == 'importance'){
pscore<-sort(x$Predictor.importance, decreasing=TRUE, na.last = TRUE)
pred.freq<-x$Predictor.frequency[names(pscore)[1:num]]
piscore<-sort(x$PI.importance, decreasing=TRUE, na.last = TRUE)
vimp.freq<-x$PI.frequency[names(piscore)[1:num]]
}
#MN edits end
p.1st<-paste("Top ", num, " Predictors", sep="")
pi.1st<-paste("Top ", num, " Interactions", sep="")
if (x$norm==TRUE)
{
pred.score<-round(pscore[1:num]/pscore[1], digits=4)
vimp.score<-round(piscore[1:num]/piscore[1], digits=4)
p.cnames<-c(p.1st, "Normalized Predictor Importance","Frequency")
pi.cnames<-c(pi.1st, "Normalized Interaction Importance","Frequency")
}
else {
pred.score<-round(pscore[1:num], digits=2)
vimp.score<-round(piscore[1:num], digits=2)
p.cnames<-c(p.1st, "Predictor Importance","Frequency")
pi.cnames<-c(pi.1st, "Interaction Importance","Frequency")
}
prds<-cbind(names(pred.score), pred.score, pred.freq)
pis<-cbind(names(vimp.score), vimp.score, vimp.freq)
colnames(prds)<-p.cnames
colnames(pis)<-pi.cnames
rownames(pis)<-rownames(prds)<-c(1:num)
cat("Number of logic regression trees =", length(x$AllFits), sep=" ")
cat("\n")
if (x$model.type=="Classification") cat("Out of Bag Misclassification =", OOBerr, sep=" ")
if (x$model.type=="Linear Regression") cat("Out of Bag MSE =", OOBerr, sep=" ")
cat("\n")
cat("\n")
cat(num, " most important predictors \n", sep="")
cat("\n")
print.default(prds, quote=FALSE, print.gap=3)
cat("\n")
cat(num, " most important interactions \n", sep="")
cat("\n")
print.default(pis, quote=FALSE, print.gap=3)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.