fix distributed KMeans bugs and add javasingle version
[IRC.git] / Robust / src / Benchmarks / Prefetch / KMeans / javasingle / inputs / generate.py
1 #!/usr/bin/python
2
3 import random
4 import sys
5
6 if len(sys.argv) != 4:
7     print "Usage: generate.py <rows> <dimensions> <centers>"
8     sys.exit(1)
9
10 numRow    = int(sys.argv[1])
11 numDim    = int(sys.argv[2])
12 numCenter = int(sys.argv[3])
13
14 random.seed(0)
15
16 if 0:
17     # uniform random
18     rows = []
19     for row in range(1, numRow+1):
20         print row,
21         for dim in range(numDim):
22             print random.random(),
23         print
24
25 else:
26     # clustered random using gaussian
27     centers = []
28     for i in range(numCenter):
29         center = []
30         for dim in range(numDim):
31             center.append(random.random())
32         centers.append(center)
33     sigma = (1. / numCenter) ** 3
34     for row in range(1, numRow+1):
35         center = random.choice(centers)
36         print row,
37         for dim in range(numDim):
38             noise = random.gauss(0, sigma)
39             print center[dim] + noise,
40         print
41