def evaluate(self, individual):
#print(" *** evaluate *** ")
#model = individual.createNetwork()
#return random.random(),
random.seed(42)
# perform KFold crossvalidation
kf = KFold(n_splits=3)
scores = []
for train, test in kf.split(self.X): # train, test are indicies
X_train, X_test = self.X[train], self.X[test]
y_train, y_test = self.y[train], self.y[test]
model = individual.createNetwork()
model.fit(X_train, y_train,
batch_size=Config.batch_size, nb_epoch=Config.epochs, verbose=0)
yy_test = model.predict(X_test)
scores.append(error(y_test, yy_test))
fitness = np.mean(scores)
return fitness,
评论列表
文章目录