R Language
Algoritmo di foresta casuale
Ricerca…
introduzione
RandomForest è un metodo di ensemble per la classificazione o la regressione che riduce la possibilità di sovradimensionamento dei dati. Dettagli del metodo possono essere trovati nell'articolo di Wikipedia su Foreste casuali . L'implementazione principale per R è nel pacchetto randomForest, ma ci sono altre implementazioni. Vedi la vista CRAN su Machine Learning .
Esempi di base: classificazione e regressione
###### 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
Questo esempio è stato testato sui dati di allenamento, ma illustra che la RF può creare ottimi modelli.
######################################################
## 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow