In [15]:
import pandas as pd
import numpy as np
import pickle
import matplotlib.pylab as plt
%matplotlib inline
In [16]:
fn = 'optimize_calculated_results.pckl'
# 'benchmark_results.pckl'
df = pickle.load(open(fn, 'rb'))
df['i'] = list(range(len(df['gridincrements'].values)))
df = df.set_index(['i'])
df['log_loss'] = df['loss'].apply(np.log)
df = df[['mode', 'Romberg', 'minimalgrid', 'neigbors', 'gridincrements', 'timing', 'loss', 'log_loss']]
In [17]:
df
Out[17]:
mode
Romberg
minimalgrid
neigbors
gridincrements
timing
loss
log_loss
i
0
0.0
True
NaN
1.0
2.0
0.324694
7.845745e+14
34.296163
1
0.0
True
NaN
2.0
2.0
1.186859
1.231593e+12
27.839330
2
0.0
True
NaN
3.0
2.0
1.315421
6.153919e+09
22.540355
3
0.0
True
NaN
4.0
2.0
1.433179
5.940469e+07
17.899884
4
0.0
True
NaN
5.0
2.0
1.491736
9.023679e+05
13.712778
5
0.0
True
NaN
6.0
2.0
1.541556
1.911120e+04
9.858030
6
0.0
True
NaN
1.0
3.0
0.674458
7.845745e+14
34.296163
7
0.0
True
NaN
2.0
3.0
2.820477
1.231593e+12
27.839330
8
0.0
True
NaN
3.0
3.0
3.817897
6.153919e+09
22.540355
9
0.0
True
NaN
4.0
3.0
3.969122
5.940469e+07
17.899884
10
0.0
True
NaN
5.0
3.0
3.987206
9.023679e+05
13.712778
11
0.0
True
NaN
6.0
3.0
4.238573
1.911120e+04
9.858030
12
0.0
True
NaN
1.0
4.0
1.114686
7.845745e+14
34.296163
13
0.0
True
NaN
2.0
4.0
8.594254
1.231593e+12
27.839330
14
0.0
True
NaN
3.0
4.0
8.731227
6.153919e+09
22.540355
15
0.0
True
NaN
4.0
4.0
8.770234
5.940469e+07
17.899884
16
0.0
True
NaN
5.0
4.0
8.791545
9.023679e+05
13.712778
17
0.0
True
NaN
6.0
4.0
8.695395
1.911120e+04
9.858030
18
0.0
True
NaN
1.0
5.0
1.902585
7.845745e+14
34.296163
19
0.0
True
NaN
2.0
5.0
19.951870
1.231593e+12
27.839330
20
0.0
True
NaN
3.0
5.0
20.682672
6.153919e+09
22.540355
21
0.0
True
NaN
4.0
5.0
21.816971
5.940469e+07
17.899884
22
0.0
True
NaN
5.0
5.0
22.586641
9.023679e+05
13.712778
23
0.0
True
NaN
6.0
5.0
20.270109
1.911120e+04
9.858030
24
1.0
True
NaN
1.0
2.0
0.538743
1.375052e+14
32.554683
25
1.0
True
NaN
2.0
2.0
3.192900
7.137730e+10
24.991246
26
1.0
True
NaN
3.0
2.0
3.853245
1.181129e+08
18.587151
27
1.0
True
NaN
4.0
2.0
3.886948
3.822632e+05
12.853865
28
1.0
True
NaN
5.0
2.0
3.934635
1.970305e+03
7.585944
29
1.0
True
NaN
6.0
2.0
4.014620
1.430350e+01
2.660504
...
...
...
...
...
...
...
...
...
93
-100.0
False
256.0
1.0
0.0
0.005353
8.448359e+16
38.975334
94
-100.0
False
256.0
2.0
0.0
0.011109
2.087699e+15
35.274839
95
-100.0
False
256.0
3.0
0.0
0.012249
1.514079e+14
32.650998
96
-100.0
False
256.0
4.0
0.0
0.013658
1.921692e+13
30.586812
97
-100.0
False
256.0
5.0
0.0
0.015816
3.512460e+12
28.887338
98
-100.0
False
256.0
6.0
0.0
0.012449
8.305768e+11
27.445386
99
-100.0
False
512.0
1.0
0.0
0.020649
1.159378e+15
34.686660
100
-100.0
False
512.0
2.0
0.0
0.087176
2.322777e+12
28.473785
101
-100.0
False
512.0
3.0
0.0
0.095725
1.479387e+10
23.417479
102
-100.0
False
512.0
4.0
0.0
0.102688
1.813438e+08
19.015905
103
-100.0
False
512.0
5.0
0.0
0.105283
3.485259e+06
15.064053
104
-100.0
False
512.0
6.0
0.0
0.110897
9.310385e+04
11.441471
105
-100.0
False
1024.0
1.0
0.0
0.107385
1.756977e+13
30.497201
106
-100.0
False
1024.0
2.0
0.0
0.635013
2.400653e+09
21.599007
107
-100.0
False
1024.0
3.0
0.0
0.738755
1.043587e+06
13.858174
108
-100.0
False
1024.0
4.0
0.0
0.785229
8.947021e+02
6.796491
109
-100.0
False
1024.0
5.0
0.0
0.888497
1.233516e+00
0.209869
110
-100.0
False
1024.0
6.0
0.0
0.949859
2.497431e-03
-5.992493
111
-100.0
False
2048.0
1.0
0.0
0.468913
2.719475e+11
26.328875
112
-100.0
False
2048.0
2.0
0.0
5.783384
2.379923e+06
14.682579
113
-100.0
False
2048.0
3.0
0.0
5.550882
6.593937e+01
4.188736
114
-100.0
False
2048.0
4.0
0.0
6.553577
3.782208e-03
-5.577447
115
-100.0
False
2048.0
5.0
0.0
7.829238
2.637962e-06
-12.845504
116
-100.0
False
2048.0
6.0
0.0
8.308618
1.469416e-06
-13.430646
117
-100.0
False
4096.0
1.0
0.0
2.582152
4.234909e+09
22.166628
118
-100.0
False
4096.0
2.0
0.0
58.497771
2.331801e+03
7.754396
119
-100.0
False
4096.0
3.0
0.0
50.865508
4.177432e-03
-5.478059
120
-100.0
False
4096.0
4.0
0.0
48.122925
2.607154e-06
-12.857251
121
-100.0
False
4096.0
5.0
0.0
49.997089
6.898829e-07
-14.186744
122
-100.0
False
4096.0
6.0
0.0
52.056167
5.997157e-06
-12.024225
123 rows × 8 columns
In [18]:
df.plot(x='timing', y='log_loss', kind='scatter')
Out[18]:
<matplotlib.axes._subplots.AxesSubplot at 0x1071c9110>
In [19]:
df[(df['log_loss'] < 5.) & (df['timing'] < 10)]
Out[19]:
mode
Romberg
minimalgrid
neigbors
gridincrements
timing
loss
log_loss
i
29
1.0
True
NaN
6.0
2.0
4.014620
14.303502
2.660504
109
-100.0
False
1024.0
5.0
0.0
0.888497
1.233516
0.209869
110
-100.0
False
1024.0
6.0
0.0
0.949859
0.002497
-5.992493
113
-100.0
False
2048.0
3.0
0.0
5.550882
65.939365
4.188736
114
-100.0
False
2048.0
4.0
0.0
6.553577
0.003782
-5.577447
115
-100.0
False
2048.0
5.0
0.0
7.829238
0.000003
-12.845504
116
-100.0
False
2048.0
6.0
0.0
8.308618
0.000001
-13.430646
In [ ]:
df[(df['log_loss'] < 10.) & (df['timing'] < 3)]
In [ ]:
# pickle.dump(df, open('benchmark_results.pckl', 'wb'))
In [ ]:
df[(df['log_loss'] < 0.)]
In [ ]:
df['Romberg'] = True
In [ ]:
#pickle.dump(df, open(fn, 'wb'))
In [14]:
df[(df['minimalgrid'] == 100)]
Out[14]:
mode
Romberg
minimalgrid
neigbors
gridincrements
timing
loss
log_loss
i
In [ ]:
Content source: keldLundgaard/ase-anharmonics
Similar notebooks: