In [113]:
%matplotlib inline
from pprint import pprint
from matplotlib.pyplot import *
import json
with open('/home/rmcgibbo/biox3/projects/hyperopt-mixtape/met-enk-tpe/results-0e18519.json') as f:
results = [e['result'] for e in json.load(f)]
In [114]:
In [121]:
score = [-e['loss'] for e in results]
cumulative_best_indices = [np.argmax(score[:i]) for i in range(1, len(results))]
best_score_by_iter = [score[i] for i in cumulative_best_indices]
pprint(results[cumulative_best_indices[-1]])
plot(best_score_by_iter)
plot(xlim(), [best_score_by_iter[-1]]*2, 'k--')
Out[121]:
In [206]:
def plot_vs_score(key, results=results, type='scatter'):
keys = key.split('.')
score = [-e['loss'] for e in results]
if len(keys) == 1:
x = [e.get(keys[0], np.nan) for e in results]
else:
x = [e.get(keys[0]).get(keys[1], np.nan) for e in results]
x = np.asarray(x)
y = np.asarray(score)
if type == 'scatter':
scatter(x, score)
ylim(3.8, 4.0)
elif type == 'boxplot':
unique_x = np.unique(x[np.isfinite(x)])
boxplot([y[x==xx] for xx in unique_x])
xticks(1+np.arange(len(unique_x)), unique_x)
xlabel(key)
ylabel('Score')
In [212]:
figure()
plot_vs_score('parameters.KMeans__n_clusters', type='scatter')
figure()
plot_vs_score('parameters.tICA__n_components', type='boxplot')
figure()
plot_vs_score('parameters.tICA__weighted_transform', type='boxplot')
In [202]:
with open('/home/rmcgibbo/biox3/projects/hyperopt-mixtape/met-enk-rand/results-e8ada65.json') as f:
results_rand= [e['result'] for e in json.load(f)]
In [203]:
score = [-e['loss'] for e in results_rand]
cumulative_best_indices = [np.argmax(score[:i]) for i in range(1, len(results_rand))]
best_score_by_iter = [score[i] for i in cumulative_best_indices]
pprint(results[cumulative_best_indices[-1]])
plot(best_score_by_iter)
plot(xlim(), [best_score_by_iter[-1]]*2, 'k--')
Out[203]:
In [213]:
figure()
plot_vs_score('parameters.KMeans__n_clusters', results=results_rand, type='scatter')
figure()
plot_vs_score('parameters.tICA__n_components', results=results_rand, type='scatter')
figure()
plot_vs_score('parameters.tICA__weighted_transform', results=results_rand, type='scatter')
In [ ]: