def test_file_manager(self): file_manager = FileManager() file_manager.load_file("../Datasets/test.data") normalize_data_1 = [[2.0, 2.0, 2.0, 2.0, [0, 1, 0]]] normalize_data_2 = [[1.0, 1.0, 1.0, 1.0, [1, 0, 0]]] self.assertEqual(file_manager.get_train_data(), normalize_data_1) self.assertEqual(file_manager.get_test_data(), normalize_data_2)
def __init__(self, initial_population, generations): """ A genetic algorithm is used to learn the weights and bias of a topology fixed network. """ super().__init__(initial_population) #self.expected_precision = expected_precision self.generation_span = generations self.precision = 0 self.epoch = 0 self.num_inputs = 4 self.neurons_per_layer = [self.num_inputs, 4, 3] # Build Fixed Neural Network, with 4 inputs self.neural_network = NeuralNetwork(self.num_inputs) # The neural network has 3 layers with 3,4 and 3 neurons in each self.neural_network.buildFixed(self.neurons_per_layer) self.test_values = 20 # Parse data set file_manager = FileManager() file_manager.load_file("../Datasets/iris.data") self.train_data = file_manager.get_train_data() self.test_data = file_manager.get_test_data() self.neurons_position = [] self.x_plot = [] self.y_plot = []
def main(): # Parse data set file_manager = FileManager() file_manager.load_file("../Datasets/iris.data") train_data = file_manager.get_train_data() test_data = file_manager.get_test_data() number_of_epochs = 2000 # Training data can be shuffled # shuffle(train_data) """ Genetic Algorithm (Tarea 3) """ # ------------------------------------------------- genetic = GeneticFixedTopology(100, 1000) best_neural_network = genetic.run() genetic.plot_results()