Exemplo n.º 1
0
 def fit(self,X,y,**param):
     self.neural_shape = param.get("neural_shape")
     self.n_input = self.neural_shape[0]
     self.n_output = self.neural_shape[-1]
     self.n_hidden = self.neural_shape[1]
     self.number_of_weights = self.n_hidden*(self.n_input+1)+self.n_output*(self.n_hidden+1)
     self.score_fn = FeedFlow(self.neural_shape)
     self.X = X
     self.y = y
     #setting params
     self.weights = G1DList.G1DList(self.number_of_weights)
     lim = np.sqrt(6)/np.sqrt((self.n_input+self.n_output))
     #Khoi tao trong so
     self.weights.setParams(rangemin=-lim,rangemax=lim)
     # cai dat ham khoi tao
     self.weights.initializator.set(Initializators.G1DListInitializatorReal)
     #cai dat ham dot bien
     self.weights.mutator.set(Mutators.G1DListMutatorRealGaussian)
     #cai dat ham do thich nghi
     self.weights.evaluator.set(self.eval_score)
     # cai dat ham lai ghep
     self.weights.crossover.set(Crossovers.G1DListCrossoverUniform)
     #code genetic
     # thiet lap he so lai ghep
     self.ga = GSimpleGA.GSimpleGA(self.weights)
     self.ga.selector.set(Selectors.GRouletteWheel)
     self.ga.setMutationRate(self.mutation_rate)
     self.ga.setCrossoverRate(self.cross_rate)
     self.ga.setPopulationSize(self.pop_size)
     self.ga.setGenerations(self.pop_size)
     self.ga.terminationCriteria.set(GSimpleGA.ConvergenceCriteria)
     self.ga.evolve(freq_stats=self.freq_stats)
     self.best_archive = self.getParam()
     return self
Exemplo n.º 2
0
    def fit(self, X, y, **param):

        self.X = X
        self.y = y
        self.neural_shape = param.get('neural_shape')
        self.archive = param.get("archive")
        if param.has_key("top_k"):
            self.top_k = param.get("top_k")
        self.score_fn = FeedFlow(self.neural_shape)
        self.score_fn.set_weights(self.optimize(X, y))
        return self
Exemplo n.º 3
0
    def fit(self, X, y,**param):

        self.X = X
        self.y = y
        if (param.has_key('neural_shape')):
            self.neural_shape = param.get("neural_shape")
            self.n_output = self.neural_shape[-1]
            self.n_hidden = self.neural_shape[1:-1]
            self.number_of_layers = len(self.neural_shape)
        else:
            self.n_input = len(X[0])
            self.n_output = len(y[0])
            self.neural_shape = self.hidden_nodes.tolist()
            self.neural_shape.insert(0, self.n_input)
            self.neural_shape.append(self.n_output)
            self.n_hidden = self.hidden_nodes
        self.archive = param.get("archive")
        if param.has_key("top_k"):
            self.top_k = param.get("top_k")
        self.score_fn = FeedFlow(self.neural_shape)
        self.score_fn.set_weights(self.optimize(X,y))
        return self