forked from Guangyi-Zhang/diverse-rule-set
-
Notifications
You must be signed in to change notification settings - Fork 0
/
run.py
72 lines (63 loc) · 2 KB
/
run.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import numpy as np
import pandas as pd
from os import path
import pickle
import itertools
from functools import partial
import pprint
pp = pprint.PrettyPrinter(indent=4)
from experiment import new_exp
def run_supervise(ver, use_min_freq, ds, k):
nsample, lambda_mode = 500, 'max'
ex = new_exp(interactive=False)
data_lamb = {
'iris': [1, 1, 1, 1, 10, 1, 1],
'contracept': [1, 1, 1, 1, 1, 1, 100],
'cardio': [1, 1, 1, 1, 1, 1, 100],
'anuran': None,
'avila': None,
}
data_min_freq = {
'iris': 0.1,
'contracept': 0.1,
'cardio': 0.5,
#'anuran': 0.5,
#'avila': 0.8,
'anuran': None,
'avila': None,
}
for ver, it, nsample_s, lambda_mode_s, mode, dataset in \
itertools.product([int(ver)],
#range(1,3+1),
range(1,1+1),
[nsample],
[lambda_mode],
#[0,2],
[2],
#['poker0.1'],
ds.split(','),
#['iris', 'contracept', 'cardio', 'anuran', 'avila'],
):
conf = {
'dataset': dataset,
'ver': ver,
'it': it,
'nsample': nsample_s,
'lambda_mode': lambda_mode_s,
'quality': 'kl',
#'lambda_array': None,
'lambda_array': data_lamb.get(dataset,None),
'min_freq': data_min_freq.get(dataset,None) if use_min_freq else None,
'sample_mode': mode,
'k': k,
}
pp.pprint(conf)
r = ex.run(config_updates=conf)
if __name__ == '__main__':
import sys
ver = sys.argv[1]
use_min_freq = False if sys.argv[2] == 'False' else True
ds = sys.argv[3]
k = int(sys.argv[4]) if len(sys.argv)>4 else None
use_test = None
run_supervise(ver, use_min_freq, ds, k)