desc = 'all'
selection = 'linear'
method = 'svr'
config = {
    "inpath": "/Users/dedan/projects/master/results/param_search/all_gloms_svrlin_all",
    "data_path": os.path.join(os.path.dirname(__file__), '..', '..', 'data'),
    "format": "png",
}
outpath = os.path.join(config['inpath'], 'plots')
door2id = json.load(open(os.path.join(config['data_path'], 'door2id.json')))
path_to_csv = os.path.join(config['data_path'], 'response_matrix.csv')
cas_numbers, all_glomeruli, rm = rdl.load_response_matrix(path_to_csv, door2id)

# variables for results
plt.close('all')
search_res, max_overview, sc, _ = rdl.read_paramsearch_results(config['inpath'])
glomeruli = search_res[desc][selection].keys()

# sort glomeruli according to performance
maxes = [np.max(search_res[desc][selection][glom][method]) for glom in glomeruli]
picks = [search_res[desc][selection][glom][method][-1, 1] for glom in glomeruli]
max_idx = np.argsort(maxes)
glomeruli = [glomeruli[i] for i in max_idx]

fig = plt.figure(figsize=(3, 20))
for i_glom, glom in enumerate(glomeruli):
    mat = search_res[desc][selection][glom][method]
    glom_idx = all_glomeruli.index(glom)
    tmp_rm, tmp_cas_numbers = rdl.get_avail_targets_for_glom(rm, cas_numbers, glom_idx)
    ax = plt.subplot2grid((len(glomeruli), 2), (i_glom, 1))
    if len(tmp_rm) > 50 and scoreatpercentile(tmp_rm, 75) > 0.2:
import os
import json
import pylab as plt
import numpy as np
from master.libs import plot_lib as plib
from master.libs import read_data_lib as rdl
from master.libs import utils
reload(plib)
reload(rdl)

config = json.load(open(sys.argv[1]))
methods = ['svr', 'svr_ens', 'forest']

# variables for results
plt.close('all')
search_res1, max_overview1, sc1 = rdl.read_paramsearch_results(config['inpath1'], methods)
search_res2, max_overview2, sc2 = rdl.read_paramsearch_results(config['inpath2'], methods)

data = {}
for i_meth, method in enumerate(max_overview1):
    for i_sel, selection in enumerate(max_overview1[method]):

        name = "{}_{}".format(method, selection)
        data1 = max_overview1[method][selection]['max']
        sort_x1 = np.argsort(np.mean(data1, axis=0))
        sort_y1 = np.argsort(np.mean(data1, axis=1))
        data1 = data1[sort_y1[::-1], :]
        data1 = np.mean(data1[:, sort_x1[::-1]], axis=1)

        data2 = max_overview2[method][selection]['max']
        sort_x2 = np.argsort(np.mean(data2, axis=0))
import numpy as np
import pylab as plt
reload(run_lib)

plt.close('all')
descriptor = 'all'
method = 'svr'
selection = 'linear'
inpath = '/Users/dedan/projects/master/results/final_plots/svr_overview'
outpath = os.path.join(inpath, 'plots')
data_path = os.path.join(os.path.dirname(__file__), '..', 'data')
glom = sys.argv[1]

# get the best parameters from the search result
print 'reading results'
search_res, max_overview, sc, k_best_dict = rdl.read_paramsearch_results(inpath)
config = rdl.get_best_params(max_overview, sc, k_best_dict,
                             descriptor, glom, method, selection)

# overwrite optimal (param search results) parameters
for m in config['methods'].keys():
    if not m == method:
        del config['methods'][m]
config['methods'][method]['C'] = 1.0
del config['methods'][method]['regularization']
config['feature_selection']['k_best'] = k_best_dict[descriptor][-1]

# load features
print 'preparing features..'
features = run_lib.prepare_features(config)
data, targets, molids = run_lib.load_data_targets(config, features)
params = {'axes.labelsize': 6,
    'font.size': 6,
    'legend.fontsize': 7,
    'xtick.labelsize':6,
    'ytick.labelsize': 6}
plt.rcParams.update(params)

config = json.load(open(sys.argv[1]))
outpath = os.path.join(config['inpath'], 'plots')
if not os.path.exists(outpath):
    os.mkdir(outpath)

# variables for results
plt.close('all')
search_res, max_overview, sc, _ = rdl.read_paramsearch_results(config['inpath'],
                                                               p_selection=config.get('selection', {}))

if config['plot_param_space']:
    for desc in search_res:
        fig = plt.figure()
        plib.plot_search_matrix(fig, search_res[desc], config['fselection'],
                                config['method'], config.get('glomeruli', []))
        fig.savefig(os.path.join(outpath, config['method'] + '_' + desc + '.' + config['format']))

# descriptor method performance plots
fig = plt.figure(figsize=(3.35, 2))
ptype = config['descriptor_plot_type']
plib.new_descriptor_performance_plot(fig, max_overview, config['fselection'],
                                     config['method'],
                                     config.get('glomeruli', []),
                                     ptype)