我试图将遗传算法用于分类问题。但是,我没有成功获得模型的摘要,也没有预测新的数据框。如何获取新数据集的摘要和预测? 这是我的玩具示例:
library(genalg)
dat <- read.table(text = " cats birds wolfs snakes
0 3 9 7
1 3 8 7
1 1 2 3
0 1 2 3
0 1 2 3
1 6 1 1
0 6 1 1
1 6 1 1 ", header = TRUE)
evalFunc <- function(x) {
if (dat$cats < 1)
return(0) else return(1)
}
iter = 100
GAmodel <- rbga.bin(size = 7, popSize = 200, iters = iter, mutationChance = 0.01,
elitism = T, evalFunc = evalFunc)
###########summary try#############
cat(summary.rbga(GAmodel))
# Error in cat(summary.rbga(GAmodel)) :
# could not find function "summary.rbga"
############# prediction try###########
dat$pred<-predict(GAmodel,newdata=dat)
# Error in UseMethod("predict") :
# no applicable method for 'predict' applied to an object of class "rbga"
更新: 阅读完答案并阅读此链接后: Pattern prediction using Genetic Algorithm 我想知道如何以编程方式将GA用作预测机制的一部分?根据链接文本,可以使用GA优化回归或NN,然后使用他们提供的预测函数/
答案 0 :(得分:4)
Genetic Algorithms用于优化,不用于分类。因此, 没有预测方法。您的摘要声明即将开始。
cat(summary(GAmodel))
GA Settings
Type = binary chromosome
Population size = 200
Number of Generations = 100
Elitism = TRUE
Mutation Chance = 0.01
Search Domain
Var 1 = [,]
Var 0 = [,]
GA Results
Best Solution : 1 1 0 0 0 0 1
提供了一些其他信息
更新以回应更新的问题:
我从论文中看到你提到这是有道理的。我们的想法是使用遗传算法优化神经网络的权重,然后使用神经网络进行分类。这将是一项艰巨的任务,太大而无法在此做出回应。