ga = Genetic_Algorithm(individuals = 1000, mutation_rate = 0.1, # (4 caracteristicas + 1 do bias) * 2 neuronios = 10 # (2 saidas de neuronio + 1 do bias) * 3 neuronios de saida = 9 # total de pesos 10+9 = 19 genotype = 19, fenotype = fenotype, genotype_type = Genetic_Algorithm.TYPE_FLOAT) # ga.print_individuals() ga.execute(generations = 100, log=True) # ga.print_individuals() print "Best Individual for all generations", ga.get_best_individual().get_genotype(), ga.get_best_individual_fenotype() genotype = ga.get_best_individual().get_genotype() pos = 0 for i, layer in enumerate(mlp.get_layers()): for j, neuron in enumerate(layer.get_neurons()): end_neuron_position = pos + len(neuron.get_weights()) neuron.get_weights()[:] = genotype[pos: end_neuron_position] neuron.set_bias(genotype[end_neuron_position]) pos = end_neuron_position + 1 mlp.get_weights('pesos_ga_iris.mlp')
mutation_rate=0.1, # (4 caracteristicas + 1 do bias) * 2 neuronios = 10 # (2 saidas de neuronio + 1 do bias) * 3 neuronios de saida = 9 # total de pesos 10+9 = 19 genotype=19, fenotype=fenotype, genotype_type=Genetic_Algorithm.TYPE_FLOAT) # ga.print_individuals() ga.execute(generations=100, log=True) # ga.print_individuals() print "Best Individual for all generations", ga.get_best_individual( ).get_genotype(), ga.get_best_individual_fenotype() genotype = ga.get_best_individual().get_genotype() pos = 0 for i, layer in enumerate(mlp.get_layers()): for j, neuron in enumerate(layer.get_neurons()): end_neuron_position = pos + len(neuron.get_weights()) neuron.get_weights()[:] = genotype[pos:end_neuron_position] neuron.set_bias(genotype[end_neuron_position]) pos = end_neuron_position + 1 mlp.get_weights('pesos_ga_iris.mlp')