-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathopenness.py
54 lines (47 loc) · 1.65 KB
/
openness.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env python
# encoding: utf-8
import os
import numpy as np
import csv
import matplotlib.pyplot as plt
OPEN = '/home/xumin/openness/enhancer'
TASKS = [o for o in os.listdir(OPEN) if os.path.isdir(os.path.join(OPEN, o))]
assert len(TASKS) == 628
LABELS = ['positive', 'negative']
RGNS = ['ubiquitous_%s.rgn' % label for label in LABELS]
DATAS = ['./data/ubiquitous_%s.open' % label for label in LABELS]
RESULTS = ['./data/ubiquitous_%s.op' % label for label in LABELS]
boxdata = []
for label, rgn, data, res in zip(LABELS, RGNS, DATAS, RESULTS):
openness = []
if os.path.isfile(data):
raw = csv.reader(open(data, 'r'), delimiter='\t', quoting=csv.QUOTE_NONNUMERIC)
for row in raw:
openness.append(row)
else:
for task in TASKS:
file = os.path.join(OPEN, task, rgn, task)
with open(file) as f:
openness.append([float(line[:-1].split('\t')[-1]) for line in f.readlines()])
openness = np.array(openness)
openness = openness.T
openness = openness.tolist()
with open(data, 'w') as f:
writer = csv.writer(f, delimiter='\t')
writer.writerows(openness)
f = open(res, 'w')
values = []
for row in openness:
value = np.sum([item > 2 for item in row])
values.append(value)
f.write('%f\n' % value)
values.append(value)
# plt.hist(values, bins=200)
# plt.xlabel('# experiments with openness')
# plt.ylabel('# samples')
# plt.show()
boxdata.append(values)
plt.boxplot(boxdata)
plt.show()
print np.sum([item < 25 for item in boxdata[0]])
print np.sum([item > 25 for item in boxdata[1]])