Как я могу применить функцию ко многим моделям ML и сохранить их результаты? - PullRequest
0 голосов
/ 26 апреля 2019

У меня много прогностических моделей.

Я написал функцию, которая будет предсказывать точность.

Как написать другую функцию, которая сохранит все результаты в одном векторе?

Например, (только для иллюстрации)



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"

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...