28 lines
1.0 KiB
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))
|
|
}
|