R Language
Slumpmässig skogalgoritm
Sök…
Introduktion
RandomForest är en ensemble-metod för klassificering eller regression som minskar risken för överanpassning av data. Detaljer om metoden finns i Wikipedia-artikeln om slumpmässiga skogar . Huvudimplementeringen för R är i randomForest-paketet, men det finns andra implementationer. Se CRAN-vyn för maskininlärning .
Grundläggande exempel - Klassificering och regression
###### Used for both Classification and Regression examples
library(randomForest)
library(car) ## For the Soils data
data(Soils)
######################################################
## RF Classification Example
set.seed(656) ## for reproducibility
S_RF_Class = randomForest(Gp ~ ., data=Soils[,c(4,6:14)])
Gp_RF = predict(S_RF_Class, Soils[,6:14])
length(which(Gp_RF != Soils$Gp)) ## No Errors
## Naive Bayes for comparison
library(e1071)
S_NB = naiveBayes(Soils[,6:14], Soils[,4])
Gp_NB = predict(S_NB, Soils[,6:14], type="class")
length(which(Gp_NB != Soils$Gp)) ## 6 Errors
Detta exempel testades på träningsdata, men illustrerar att RF kan göra mycket bra modeller.
######################################################
## RF Regression Example
set.seed(656) ## for reproducibility
S_RF_Reg = randomForest(pH ~ ., data=Soils[,6:14])
pH_RF = predict(S_RF_Reg, Soils[,6:14])
## Compare Predictions with Actual values for RF and Linear Model
S_LM = lm(pH ~ ., data=Soils[,6:14])
pH_LM = predict(S_LM, Soils[,6:14])
par(mfrow=c(1,2))
plot(Soils$pH, pH_RF, pch=20, ylab="Predicted", main="Random Forest")
abline(0,1)
plot(Soils$pH, pH_LM, pch=20, ylab="Predicted", main="Linear Model")
abline(0,1)
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow