Я попробовал код R, чтобы применить Geneti c Algoritham in Logisti c Регрессия. Фитнес-функция заключается в максимизации AU C. Но он выдает эту ошибку Ошибка в UseMethod («предикат»): нет применимого метода для «предиката», примененного к объекту класса «c (« double »,« цифра c ') ». Как мне преодолеть эту проблему? ?
fitness=functisnippon(string){
inc=which(string==1)
X=cbind(1,x[,inc])
mod=glm.fit(X,y,family = binomial(link="logit"))
class(mod)="glm"
probability.mod=predict(mod,data,type = "response")
roc_full_resolution <- roc(y, probability.mod)
rounded_scores <- round(probability.mod, digits=1)
roc_rounded <- roc(y, rounded_scores)
auc(plot(roc_full_resolution, print.auc=TRUE))
}
GA <- ga("binary",lower =c(0,1,1,1,1,0,0,0,0,0,0), pmutation = 0.1,pcrossover = 0.8,crossover = gareal_spCrossover,
selection = gabin_rwSelection,popSize=50, maxiter=50,
upper =c(1,66,3,3,9,1,1,1,1,1,1), fitness = fitness, nBits = ncol(x),names = colnames(x))
plot(GA)
summary(GA)