class SimpleModelTest(opus_unittest.OpusTestCase): def setUp(self): self.data = { 'id': arange(10) + 1, 'attribute': array([3000, 2800, 1000, 550, 600, 1000, 2000, 500, 100, 1000]) } storage = StorageFactory().get_storage('dict_storage') storage.write_table(table_name='dataset', table_data=self.data) self.dataset = Dataset(in_storage=storage, in_table_name='dataset', id_name=['id']) def test_simple_model(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrtattr') self.assertEqual( ma.allclose(self.dataset.get_attribute('sqrtattr'), sqrt(self.data['attribute'])), True) self.assertEqual( 'sqrtattr' in self.dataset.get_primary_attribute_names(), True) def test_simple_model_without_outcome_attribute(self): m = SimpleModel() m.run(self.dataset, 'lattr = ln(dataset.attribute)') self.assertEqual( ma.allclose(self.dataset.get_attribute('lattr'), log(self.data['attribute'])), True) self.assertEqual('lattr' in self.dataset.get_primary_attribute_names(), True)
class SimpleModelTest(opus_unittest.OpusTestCase): def setUp(self): self.data = { 'id': arange(10)+1, 'attribute': array([3000,2800,1000,550,600,1000,2000,500,100,1000]), 'sqrt_outcome': zeros(10) } storage = StorageFactory().get_storage('dict_storage') storage.write_table(table_name = 'dataset', table_data = self.data) self.dataset = Dataset(in_storage=storage, in_table_name='dataset', id_name=['id']) def test_simple_model(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrtattr') self.assertEqual(ma.allclose(self.dataset.get_attribute('sqrtattr'), sqrt(self.data['attribute'])), True) self.assertEqual('sqrtattr' in self.dataset.get_primary_attribute_names(), True) def test_simple_model_with_filter(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrt_outcome', dataset_filter='dataset.attribute>1000') expected = array([1, 1, 0, 0, 0, 0, 1, 0, 0, 0]) * sqrt(self.data['attribute']) self.assertEqual(ma.allclose(self.dataset.get_attribute('sqrt_outcome'), expected), True) self.assertEqual('sqrt_outcome' in self.dataset.get_primary_attribute_names(), True) def MASKEDtest_simple_model_with_random_filter(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrt_outcome', dataset_filter='(dataset.attribute>=1000) & (random_like(dataset.attribute)<=0.5)', ) con_filter = self.dataset['attribute']>=1000 results = self.dataset['sqrt_outcome'][con_filter] expected = sqrt(self.data['attribute'])[con_filter] #test half of the elements passing filter are being sqrt self.assertEqual((results==expected).sum(), expected.size/2) self.assertEqual((results!=expected).sum(), expected.size/2) def test_simple_model_without_outcome_attribute(self): m = SimpleModel() m.run(self.dataset, 'lattr = ln(dataset.attribute)') self.assertEqual(ma.allclose(self.dataset.get_attribute('lattr'), log(self.data['attribute'])), True) self.assertEqual('lattr' in self.dataset.get_primary_attribute_names(), True) def test_simple_model_with_outcome_values(self): m = SimpleModel() m.run(self.dataset, outcome_attribute='iniattr', outcome_values=zeros(10)-1) self.assertEqual(ma.allclose(self.dataset.get_attribute('iniattr'), array(10*[-1])), True) self.assertEqual('iniattr' in self.dataset.get_primary_attribute_names(), True) # run with filter m.run(self.dataset, outcome_attribute='iniattr', outcome_values=arange(10)+1, dataset_filter='dataset.attribute>1000') expected = array([1, 2, -1, -1, -1, -1, 7, -1, -1, -1]) self.assertEqual(ma.allclose(self.dataset.get_attribute('iniattr'), expected), True)
class DeleteAttributeModelTest(opus_unittest.OpusTestCase): def setUp(self): self.data = { 'id': arange(10)+1, 'attribute': array([3000,2800,1000,550,600,1000,2000,500,100,1000]), } storage = StorageFactory().get_storage('dict_storage') storage.write_table(table_name = 'dataset', table_data = self.data) self.dataset = Dataset(in_storage=storage, in_table_name='dataset', id_name=['id']) def test_delete_attribute_model(self): m = DeleteAttributeModel() m.run(self.dataset, 'attr') self.assertEqual('attribute' in self.dataset.get_primary_attribute_names(), True) m.run(self.dataset, 'attribute') self.assertEqual('attribute' in self.dataset.get_primary_attribute_names(), False)
class SimpleModelTest(opus_unittest.OpusTestCase): def setUp(self): self.data = { 'id': arange(10)+1, 'attribute': array([3000,2800,1000,550,600,1000,2000,500,100,1000]) } storage = StorageFactory().get_storage('dict_storage') storage.write_table(table_name = 'dataset', table_data = self.data) self.dataset = Dataset(in_storage=storage, in_table_name='dataset', id_name=['id']) def test_simple_model(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrtattr') self.assertEqual(ma.allclose(self.dataset.get_attribute('sqrtattr'), sqrt(self.data['attribute'])), True) self.assertEqual('sqrtattr' in self.dataset.get_primary_attribute_names(), True) def test_simple_model_without_outcome_attribute(self): m = SimpleModel() m.run(self.dataset, 'lattr = ln(dataset.attribute)') self.assertEqual(ma.allclose(self.dataset.get_attribute('lattr'), log(self.data['attribute'])), True) self.assertEqual('lattr' in self.dataset.get_primary_attribute_names(), True)
class SimpleModelTest(opus_unittest.OpusTestCase): def setUp(self): self.data = { 'id': arange(10) + 1, 'attribute': array([3000, 2800, 1000, 550, 600, 1000, 2000, 500, 100, 1000]), 'sqrt_outcome': zeros(10) } storage = StorageFactory().get_storage('dict_storage') storage.write_table(table_name='dataset', table_data=self.data) self.dataset = Dataset(in_storage=storage, in_table_name='dataset', id_name=['id']) def test_simple_model(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrtattr') self.assertEqual( ma.allclose(self.dataset.get_attribute('sqrtattr'), sqrt(self.data['attribute'])), True) self.assertEqual( 'sqrtattr' in self.dataset.get_primary_attribute_names(), True) def test_simple_model_with_filter(self): m = SimpleModel() m.run(self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrt_outcome', dataset_filter='dataset.attribute>1000') expected = array([1, 1, 0, 0, 0, 0, 1, 0, 0, 0]) * sqrt( self.data['attribute']) self.assertEqual( ma.allclose(self.dataset.get_attribute('sqrt_outcome'), expected), True) self.assertEqual( 'sqrt_outcome' in self.dataset.get_primary_attribute_names(), True) def MASKEDtest_simple_model_with_random_filter(self): m = SimpleModel() m.run( self.dataset, 'sqrt(dataset.attribute)', outcome_attribute='sqrt_outcome', dataset_filter= '(dataset.attribute>=1000) & (random_like(dataset.attribute)<=0.5)', ) con_filter = self.dataset['attribute'] >= 1000 results = self.dataset['sqrt_outcome'][con_filter] expected = sqrt(self.data['attribute'])[con_filter] #test half of the elements passing filter are being sqrt self.assertEqual((results == expected).sum(), expected.size / 2) self.assertEqual((results != expected).sum(), expected.size / 2) def test_simple_model_without_outcome_attribute(self): m = SimpleModel() m.run(self.dataset, 'lattr = ln(dataset.attribute)') self.assertEqual( ma.allclose(self.dataset.get_attribute('lattr'), log(self.data['attribute'])), True) self.assertEqual('lattr' in self.dataset.get_primary_attribute_names(), True) def test_simple_model_with_outcome_values(self): m = SimpleModel() m.run(self.dataset, outcome_attribute='iniattr', outcome_values=zeros(10) - 1) self.assertEqual( ma.allclose(self.dataset.get_attribute('iniattr'), array(10 * [-1])), True) self.assertEqual( 'iniattr' in self.dataset.get_primary_attribute_names(), True) # run with filter m.run(self.dataset, outcome_attribute='iniattr', outcome_values=arange(10) + 1, dataset_filter='dataset.attribute>1000') expected = array([1, 2, -1, -1, -1, -1, 7, -1, -1, -1]) self.assertEqual( ma.allclose(self.dataset.get_attribute('iniattr'), expected), True)