示例#1
0
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)
示例#2
0
    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()