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)
Example #2
0
 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()