У меня много прогностических моделей.
Я написал функцию, которая будет предсказывать точность.
Как написать другую функцию, которая сохранит все результаты в одном векторе?
Например, (только для иллюстрации)
library(randomForest)
url="http://freakonometrics.free.fr/german_credit.csv"
credit=read.csv(url, header = TRUE, sep = ",")
credit$Creditability <- as.factor(credit$Creditability)
#2 models
Random1 <- randomForest(Creditability ~ Credit.Amount +Duration.of.Credit..month., data = credit, mtry = 1)
Random2 <- randomForest(Creditability ~ Credit.Amount +Duration.of.Credit..month., data = credit, mtry = 2)
##Accuracy function
Accuracy <- function(model){
pred <-predict(model,type ="class",newdata = credit)
tab <-table(credit$Creditability, pred)
Ac <- sum(diag(tab))/(sum(tab))
Ac}
Accuracy(Random1)
Accuracy(Random2)
Если я сохранил использованные модели
Models <- c(Random1, Random2)
Как мне применить к нему функцию точности и сохранить результат как вектор?
Я пытаюсь
lapply(Models, Accuracy)
но получите ошибку
Error in UseMethod("predict") : no applicable method for 'predict' applied to an object of class "call"
Спасибо!