class TestSelfOrganizingMap(TestCase): def setUp(self): self.tested_object = SelfOrganizingMap([4, 4]) self.data = DataHolder(_filename='./IrisDataTrain.xls', _number_of_fetures=4) self.data.normalize_features() self.data.encode_labels() self.tested_object.set_input_len(4) def tearDown(self): pass def test__initialize(self): map = self.tested_object._initialize([5, 5]) print('test__initialize zakonczony') def test_run(self): self.tested_object.run(self.data.get_features(), self.data.get_labels()) print('sialalalala')
class TestDataHolder(TestCase): def setUp(self): self.filename = './IrisDataTrain.xls' self.data_holder = DataHolder(_filename=self.filename, _number_of_fetures=4) def tearDown(self): pass def test_load_data(self): self.data_holder.load_data('lalala.xls', 4) self.assertRaises(FileNotFoundError) self.data_holder.load_data('lalala.xxx', 4) self.assertRaises(Exception) self.assertIsNotNone(self.data_holder.load_data(self.filename, 4)) def test_set_features(self): self.data_holder.set_features() self.assertEqual(len(self.data_holder.features[1, :]), self.data_holder.number_of_features) #def test_get_features(self): # self.fail() def test_set_labels(self): self.data_holder.set_labels() self.assertEqual(len(self.data_holder.labels[1, ]), 1, msg='Labels length should be equal 1') #def test_get_labels(self): # self.fail() def test_encode_labels(self): self.data_holder.encode_labels() self.assertEqual(len(self.data_holder.encoded_labels[1, :]), 3, msg='Should equal 3 for Iris Data')
class TestCrossvalidation(TestCase): def setUp(self): self.filename = './IrisDataTrain.xls' self.data = DataHolder(self.filename, _number_of_fetures=4, _class_column=4, _rows_to_skip=0) ## # self.filename = './breast_cancer_data.xls' # self.data = DataHolder(self.filename, # _number_of_fetures=9, # _class_column=0, # _rows_to_skip=3) ## # self.filename = './WineData.xls' # self.data = DataHolder(self.filename, # _number_of_fetures=13, # _class_column=0, # _rows_to_skip=1) # self.model = NeuronNetwork() # self.model.create_network(4, [10, 7, 4, 3]) # self.model = MLPNetwork() # self.model.create(no_of_layers=4, size_of_each_layer=[self.data.number_of_features,20,10, 3]) # self.model = SomMlpNetwork() self.model.create(no_of_layers=4, size_of_each_layer=[4, 8, 8, 3], som_size=[3, 3], som_filename='trained_som.pkl') # self.model = SomMlpNetwork() # self.model.create(no_of_layers=4, # size_of_each_layer=[4,10,7, 3], # som_size=[3, 3]) self.crossvali = Crossvalidation() self.crossvali.set_data(self.data) self.crossvali.set_parameters(5) self.crossvali.generate_validation_training_sets() self.crossvali.model = self.model self.data.encode_labels() self.data.normalize_features() def tearDown(self): pass def test_set_parameters(self): self.crossvali.set_parameters(5) self.assertEqual(self.crossvali.folds, 5) def test_set_model(self): self.crossvali.set_model(self.model) #self.assertIsInstance(self.crossvali.model, NeuronNetwork) def test_set_data(self): self.crossvali.set_data(self.data) def test_generate_validation_training_sets(self): self.crossvali.set_data(self.data) self.crossvali.generate_validation_training_sets() def test_train_model(self): self.crossvali.train_model()