CS-7863-Sci-Stat-Proj-6/Schrick-Noah_Random-Forest.R

28 lines
1.0 KiB
R

if (!require("randomForest")) install.packages("randomForest")
library(randomForest)
if (!require("ranger")) install.packages("ranger")
library(ranger)
rf_comp <- function(train){
rf<-randomForest(as.factor(train$class) ~ .,data=train, ntree=5000,
importance=T)
print(rf) # error
detach("package:ranger", unload=TRUE)
rf_imp<-data.frame(rf_score=importance(rf, type=1)) # Cannot do if ranger is loaded
#dplyr::arrange(rf_imp,-MeanDecreaseAccuracy)
#print(dplyr::slice_max(rf_imp,order_by=MeanDecreaseAccuracy, n=20))
library(ranger)
rf2<-ranger(as.factor(train$class) ~ ., data=train, num.trees=5000,
importance="permutation")
print(rf2) # error
rf2_imp<-data.frame(rf_score=rf2$variable.importance)
#dplyr::arrange(rf_imp,-MeanDecreaseAccuracy)
#print(dplyr::slice_max(rf2_imp,order_by=rf_score, n=20))
#rftest <- predict(rf, newdata=test, type="class")
#confusionMatrix(table(rftest,test$class))
return(list(rf_imp=rf_imp, rf2_imp=rf2_imp))
}