class ICAMapperTests(unittest.TestCase): def setUp(self): # data: 40 sample feature line in 2d space (40x2; samples x features) samples = N.vstack([N.arange(40.) for i in range(2)]).T samples -= samples.mean() samples += N.random.normal(size=samples.shape, scale=0.1) self.ndlin = Dataset(samples=samples, labels=1, chunks=1) # data: 40 sample feature line in 50d space (40x50; samples x features) samples = N.vstack([N.arange(40.) for i in range(50)]).T samples -= samples.mean() samples += N.random.normal(size=samples.shape, scale=0.1) self.largefeat = Dataset(samples=samples, labels=1, chunks=1) self.pm = ICAMapper() def testSimpleICA(self): # train self.pm.train(self.ndlin) self.failUnlessEqual(self.pm.proj.shape, (2, 2)) # now project data into ICA space p = self.pm.forward(self.ndlin.samples) self.failUnlessEqual(p.shape, (40, 2)) # check that the mapped data can be fully recovered by 'reverse()' self.failUnless(N.abs(self.pm.reverse(p) - self.ndlin.samples).mean() \ < 0.0001)
def setUp(self): # data: 40 sample feature line in 2d space (40x2; samples x features) samples = N.vstack([N.arange(40.) for i in range(2)]).T samples -= samples.mean() samples += N.random.normal(size=samples.shape, scale=0.1) self.ndlin = Dataset(samples=samples, labels=1, chunks=1) # data: 40 sample feature line in 50d space (40x50; samples x features) samples = N.vstack([N.arange(40.) for i in range(50)]).T samples -= samples.mean() samples += N.random.normal(size=samples.shape, scale=0.1) self.largefeat = Dataset(samples=samples, labels=1, chunks=1) self.pm = ICAMapper()