library(wsrf)
library(rattle)
library(randomForest)
# prepare parameters
ds <- get("weather")
dim(ds)
names(ds)
target <- "RainTomorrow"
id <- c("Date", "Location")
risk <- "RISK_MM"
ignore <- c(id, if (exists("risk")) risk)
vars <- setdiff(names(ds), ignore)
if (sum(is.na(ds[vars]))) ds[vars] <- na.roughfix(ds[vars])
ds[target] <- as.factor(ds[[target]])
(tt <- table(ds[target]))
form <- as.formula(paste(target, "~ ."))
set.seed(42)
train <- sample(nrow(ds), 0.7*nrow(ds))
test <- setdiff(seq_len(nrow(ds)), train)
# build model
model.wsrf <- wsrf(form, data=ds[train, vars])
# view model
print(model.wsrf)
print(model.wsrf, tree=1)
# evaluate
strength(model.wsrf)
correlation(model.wsrf)
cl <- predict(model.wsrf, newdata=ds[test, vars], type="response")
actual <- ds[test, target]
(accuracy.wsrf <- sum(cl==actual)/length(actual))
Run the code above in your browser using DataLab