Ticket #1161: pca_compare.py

File pca_compare.py, 606 bytes (added by lanz, 2 years ago)
Line 
1from time import time
2import numpy as np
3import Orange
4
5def test(n=1000, m=1000, k=100):
6    print('n={}, m={}'.format(n, m))
7    dom = Orange.data.Domain([Orange.feature.Continuous('f{}'.format(i))
8                              for i in range(m)], False)
9    np.random.seed(42)
10    X = np.dot(np.random.rand(n, k), np.random.rand(k, m))
11    data = Orange.data.Table(dom, X)
12    pca = Orange.projection.linear.PCA()
13    start = time()
14    c = pca(data)
15    print 'Elapsed: %s' % (time() - start)
16    print c.projection[:4, :4]
17    print c.variances[:4] / c.variance_sum
18
19test(2000, 2001)
20test(200, 50000)
21