如何正确使用遗传算法进行预测

时间:2017-01-25 15:51:14

标签: r genetic-algorithm

我试图将遗传算法用于分类问题。但是,我没有成功获得模型的摘要,也没有预测新的数据框。如何获取新数据集的摘要和预测? 这是我的玩具示例:

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,然后使用他们提供的预测函数/

1 个答案:

答案 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 

Imperial College London

提供了一些其他信息

更新以回应更新的问题:

我从论文中看到你提到这是有道理的。我们的想法是使用遗传算法优化神经网络的权重,然后使用神经网络进行分类。这将是一项艰巨的任务,太大而无法在此做出回应。