예제 #1
0
def main():
    global max_generations
    global max_parents

    dataset = ANN.ReadCSV()

    population = Population()

    #Current solution variables.
    score = None
    solution = None  #Variable to keep in track the previous fitness value.

    i = 0
    while i < max_generations:
        fitness = Fitness(population, dataset)

        #--------------Final Solution variables---------------------
        print(fitness)
        score = max(fitness)
        solution = population[(np.where(fitness == score))[0][0]]
        #--------------END-------------------------------------------

        parents = Parents(population, fitness)

        offspring_crossover = Crossover(parents)

        offspring_mutation = Mutation(offspring_crossover)

        #generating a new population.
        population = NewPopulation(population, parents, offspring_mutation)

        if score >= 0.80:
            break
        else:
            i += 1

    print("Parameters:", solution)
    print("Accuracy: " + "{:.2f} %".format(score))