Pada notebook ini, akan dilihat hasil eksperimen menggunakan distance metric correlation dan euclidean serta pembatasan jumlah fitur secara proporsional terhadap banyak fitur.

Import modul yang dibutuhkan dan set agar matplotlib menggambar grafik secara inline.


In [1]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

In [2]:
df = pd.read_hdf('../reports/large-exp-uni-lim-percent-feat-eucl-corr-dist.h5', 'df')
df


Out[2]:
num_norm 10 ... 80
num_oot 1 ... 8
num_top 1 3 5 ... 5
result base perf base perf base ... base perf
k 0 1 0 1 0 1 0 1 0 1 ... 2 3 4 5 0 1 2 3 4 5
method feature max_features metric norm_dir oot_dir
txt_comp_dist unigram 0.1 euclidean bbs152930 bbs57549 0.909091 0.090909 0.300000 0.700000 0.727273 0.272727 0.166667 0.833333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.133333 0.133333 0.633333 0.100000 0.000000
mus10142 0.909091 0.090909 0.033333 0.966667 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.033333 0.833333 0.133333
phy40008 0.909091 0.090909 0.100000 0.900000 0.727273 0.272727 0.100000 0.900000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.033333 0.200000 0.300000 0.466667 0.000000
phy17301 bbs57549 0.909091 0.090909 0.133333 0.866667 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.333333 0.300000 0.366667 0.000000
mus10142 0.909091 0.090909 0.000000 1.000000 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.066667 0.066667 0.400000 0.366667 0.100000
phy40008 0.909091 0.090909 0.300000 0.700000 0.727273 0.272727 0.233333 0.766667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.066667 0.400000 0.300000 0.066667 0.166667 0.000000
mus1139 bbs57549 0.909091 0.090909 0.200000 0.800000 0.727273 0.272727 0.066667 0.933333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.133333 0.433333 0.400000 0.033333 0.000000 0.000000
mus10142 0.909091 0.090909 0.700000 0.300000 0.727273 0.272727 0.533333 0.466667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.333333 0.300000 0.333333 0.033333 0.000000 0.000000
phy40008 0.909091 0.090909 0.266667 0.733333 0.727273 0.272727 0.166667 0.833333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.433333 0.333333 0.233333 0.000000 0.000000 0.000000
correlation bbs152930 bbs57549 0.909091 0.090909 0.600000 0.400000 0.727273 0.272727 0.400000 0.600000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.266667 0.033333 0.466667 0.233333 0.000000 0.000000
mus10142 0.909091 0.090909 0.933333 0.066667 0.727273 0.272727 0.500000 0.500000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.566667 0.166667 0.133333 0.133333 0.000000 0.000000
phy40008 0.909091 0.090909 0.366667 0.633333 0.727273 0.272727 0.466667 0.533333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.233333 0.100000 0.166667 0.500000 0.000000 0.000000
phy17301 bbs57549 0.909091 0.090909 0.800000 0.200000 0.727273 0.272727 0.633333 0.366667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.400000 0.100000 0.333333 0.100000 0.066667 0.000000
mus10142 0.909091 0.090909 0.966667 0.033333 0.727273 0.272727 0.900000 0.100000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.333333 0.300000 0.100000 0.166667 0.100000 0.000000
phy40008 0.909091 0.090909 0.500000 0.500000 0.727273 0.272727 0.466667 0.533333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.233333 0.366667 0.200000 0.133333 0.066667 0.000000
mus1139 bbs57549 0.909091 0.090909 0.566667 0.433333 0.727273 0.272727 0.433333 0.566667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.166667 0.333333 0.300000 0.166667 0.033333 0.000000
mus10142 0.909091 0.090909 1.000000 0.000000 0.727273 0.272727 0.866667 0.133333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.933333 0.066667 0.000000 0.000000 0.000000 0.000000
phy40008 0.909091 0.090909 0.333333 0.666667 0.727273 0.272727 0.433333 0.566667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.266667 0.033333 0.300000 0.233333 0.133333 0.033333
0.3 euclidean bbs152930 bbs57549 0.909091 0.090909 0.066667 0.933333 0.727273 0.272727 0.066667 0.933333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.166667 0.300000 0.500000 0.033333 0.000000
mus10142 0.909091 0.090909 0.033333 0.966667 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.200000 0.800000 0.000000
phy40008 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.100000 0.900000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.166667 0.500000 0.333333 0.000000
phy17301 bbs57549 0.909091 0.090909 0.066667 0.933333 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.033333 0.033333 0.166667 0.600000 0.166667 0.000000
mus10142 0.909091 0.090909 0.066667 0.933333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.066667 0.433333 0.500000 0.000000
phy40008 0.909091 0.090909 0.300000 0.700000 0.727273 0.272727 0.133333 0.866667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.133333 0.366667 0.333333 0.166667 0.000000 0.000000
mus1139 bbs57549 0.909091 0.090909 0.100000 0.900000 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.200000 0.500000 0.200000 0.066667 0.033333 0.000000
mus10142 0.909091 0.090909 0.366667 0.633333 0.727273 0.272727 0.466667 0.533333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.333333 0.333333 0.266667 0.066667 0.000000 0.000000
phy40008 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.166667 0.833333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.333333 0.433333 0.200000 0.033333 0.000000 0.000000
correlation bbs152930 bbs57549 0.909091 0.090909 0.900000 0.100000 0.727273 0.272727 0.200000 0.800000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.100000 0.000000 0.066667 0.833333 0.000000 0.000000
mus10142 0.909091 0.090909 1.000000 0.000000 0.727273 0.272727 0.366667 0.633333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.466667 0.000000 0.033333 0.500000 0.000000 0.000000
phy40008 0.909091 0.090909 0.700000 0.300000 0.727273 0.272727 0.233333 0.766667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.133333 0.000000 0.000000 0.533333 0.333333 0.000000
0.3 correlation bbs152930 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
0.3 correlation bbs152930 ... 0.909091 0.090909 0.266667 0.733333 0.727273 0.272727 0.133333 0.866667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.133333 0.466667 0.266667 0.100000 0.033333 0.000000
bbs57549 0.909091 0.090909 0.500000 0.500000 0.727273 0.272727 0.466667 0.533333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.100000 0.466667 0.266667 0.166667 0.000000 0.000000
mus10142 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.266667 0.733333 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.366667 0.433333 0.133333 0.033333 0.033333 0.000000
euclidean mus1139 phy40008 0.909091 0.090909 0.266667 0.733333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.033333 0.300000 0.666667 0.000000
bbs57549 0.909091 0.090909 0.833333 0.166667 0.727273 0.272727 0.100000 0.900000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.100000 0.000000 0.000000 0.000000 0.833333 0.066667
mus10142 0.909091 0.090909 0.366667 0.633333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.033333 0.000000 0.533333 0.433333
bbs152930 phy40008 0.909091 0.090909 0.100000 0.900000 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.033333 0.000000 0.033333 0.033333 0.566667 0.333333
bbs57549 0.909091 0.090909 0.566667 0.433333 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.066667 0.100000 0.233333 0.333333 0.233333 0.033333
mus10142 0.909091 0.090909 0.300000 0.700000 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.033333 0.200000 0.300000 0.300000 0.166667 0.000000
phy17301 phy40008 0.909091 0.090909 0.266667 0.733333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.266667 0.266667 0.200000 0.266667 0.000000
bbs57549 0.909091 0.090909 0.933333 0.066667 0.727273 0.272727 0.533333 0.466667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.366667 0.533333 0.100000 0.000000 0.000000 0.000000
mus10142 0.909091 0.090909 0.266667 0.733333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.100000 0.266667 0.233333 0.366667 0.033333 0.000000
0.8 correlation mus1139 phy40008 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.066667 0.133333 0.600000 0.200000 0.000000
bbs57549 0.909091 0.090909 0.000000 1.000000 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.066667 0.933333 0.000000
mus10142 0.909091 0.090909 0.200000 0.800000 0.727273 0.272727 0.233333 0.766667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.200000 0.466667 0.333333 0.000000
bbs152930 phy40008 0.909091 0.090909 0.133333 0.866667 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.166667 0.666667 0.166667 0.000000
bbs57549 0.909091 0.090909 0.000000 1.000000 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.066667 0.533333 0.366667 0.033333
mus10142 0.909091 0.090909 0.300000 0.700000 0.727273 0.272727 0.033333 0.966667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.133333 0.366667 0.366667 0.133333 0.000000 0.000000
phy17301 phy40008 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.100000 0.900000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.266667 0.300000 0.333333 0.066667 0.033333 0.000000
bbs57549 0.909091 0.090909 0.500000 0.500000 0.727273 0.272727 0.400000 0.600000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.266667 0.400000 0.233333 0.100000 0.000000 0.000000
mus10142 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.133333 0.866667 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.433333 0.500000 0.066667 0.000000 0.000000 0.000000
euclidean mus1139 phy40008 0.909091 0.090909 0.533333 0.466667 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.266667 0.700000 0.033333
bbs57549 0.909091 0.090909 0.866667 0.133333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.000000 0.700000 0.300000
mus10142 0.909091 0.090909 0.466667 0.533333 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.033333 0.500000 0.466667
bbs152930 phy40008 0.909091 0.090909 0.133333 0.866667 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.000000 0.066667 0.133333 0.800000
bbs57549 0.909091 0.090909 0.500000 0.500000 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.000000 0.000000 0.166667 0.400000 0.300000 0.133333
mus10142 0.909091 0.090909 0.400000 0.600000 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.033333 0.133333 0.400000 0.400000 0.033333 0.000000
phy17301 phy40008 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.033333 0.200000 0.400000 0.200000 0.166667 0.000000
bbs57549 0.909091 0.090909 0.833333 0.166667 0.727273 0.272727 0.300000 0.700000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.366667 0.533333 0.100000 0.000000 0.000000 0.000000
mus10142 0.909091 0.090909 0.233333 0.766667 0.727273 0.272727 0.000000 1.000000 0.545455 0.454545 ... 0.058722 0.004517 0.000143 0.000001 0.266667 0.266667 0.200000 0.166667 0.100000 0.000000

90 rows × 116 columns

Melakukan agregasi...


In [3]:
df_agg = df.groupby(level=['max_features','metric']).mean().T.unstack(level='result')

In [4]:
df_agg


Out[4]:
max_features 0.1 0.3 0.5 0.8 1.0
metric correlation euclidean correlation euclidean correlation euclidean correlation euclidean correlation euclidean
result base perf base perf base perf base perf base perf base perf base perf base perf base perf base perf
num_norm num_oot num_top k
10 1 1 0 0.909091 0.674074 0.909091 0.225926 0.909091 0.496296 0.909091 0.162963 0.909091 0.425926 0.909091 0.177778 0.909091 0.433333 0.909091 0.225926 0.909091 0.466667 0.909091 0.203704
1 0.090909 0.325926 0.090909 0.774074 0.090909 0.503704 0.090909 0.837037 0.090909 0.574074 0.090909 0.822222 0.090909 0.566667 0.090909 0.774074 0.090909 0.533333 0.090909 0.796296
3 0 0.727273 0.566667 0.727273 0.144444 0.727273 0.222222 0.727273 0.114815 0.727273 0.151852 0.727273 0.118519 0.727273 0.077778 0.727273 0.140741 0.727273 0.033333 0.727273 0.103704
1 0.272727 0.433333 0.272727 0.855556 0.272727 0.777778 0.272727 0.885185 0.272727 0.848148 0.272727 0.881481 0.272727 0.922222 0.272727 0.859259 0.272727 0.966667 0.272727 0.896296
5 0 0.545455 0.466667 0.545455 0.051852 0.545455 0.240741 0.545455 0.074074 0.545455 0.088889 0.545455 0.062963 0.545455 0.037037 0.545455 0.037037 0.545455 0.025926 0.545455 0.062963
1 0.454545 0.533333 0.454545 0.948148 0.454545 0.759259 0.454545 0.925926 0.454545 0.911111 0.454545 0.937037 0.454545 0.962963 0.454545 0.962963 0.454545 0.974074 0.454545 0.937037
4 1 0 0.714286 0.433333 0.714286 0.133333 0.714286 0.333333 0.714286 0.100000 0.714286 0.307407 0.714286 0.159259 0.714286 0.314815 0.714286 0.137037 0.714286 0.355556 0.714286 0.170370
1 0.285714 0.566667 0.285714 0.866667 0.285714 0.666667 0.285714 0.900000 0.285714 0.692593 0.285714 0.840741 0.285714 0.685185 0.285714 0.862963 0.285714 0.644444 0.285714 0.829630
3 0 0.329670 0.177778 0.329670 0.051852 0.329670 0.070370 0.329670 0.092593 0.329670 0.048148 0.329670 0.051852 0.329670 0.029630 0.329670 0.059259 0.329670 0.014815 0.329670 0.085185
1 0.494505 0.288889 0.494505 0.218519 0.494505 0.233333 0.494505 0.200000 0.494505 0.207407 0.494505 0.222222 0.494505 0.255556 0.494505 0.174074 0.494505 0.259259 0.494505 0.207407
2 0.164835 0.385185 0.164835 0.270370 0.164835 0.485185 0.164835 0.311111 0.164835 0.481481 0.164835 0.300000 0.164835 0.607407 0.164835 0.348148 0.164835 0.629630 0.164835 0.314815
3 0.010989 0.148148 0.010989 0.459259 0.010989 0.211111 0.010989 0.396296 0.010989 0.262963 0.010989 0.425926 0.010989 0.107407 0.010989 0.418519 0.010989 0.096296 0.010989 0.392593
5 0 0.125874 0.118519 0.125874 0.033333 0.125874 0.066667 0.125874 0.022222 0.125874 0.029630 0.125874 0.040741 0.125874 0.003704 0.125874 0.040741 0.125874 0.003704 0.125874 0.025926
1 0.419580 0.200000 0.419580 0.114815 0.419580 0.129630 0.419580 0.148148 0.419580 0.081481 0.419580 0.137037 0.419580 0.088889 0.419580 0.118519 0.419580 0.044444 0.419580 0.125926
2 0.359640 0.277778 0.359640 0.266667 0.359640 0.222222 0.359640 0.200000 0.359640 0.203704 0.359640 0.266667 0.359640 0.103704 0.359640 0.240741 0.359640 0.170370 0.359640 0.196296
3 0.089910 0.274074 0.089910 0.262963 0.089910 0.418519 0.089910 0.340741 0.089910 0.348148 0.089910 0.262963 0.089910 0.540741 0.089910 0.303704 0.089910 0.525926 0.089910 0.288889
4 0.004995 0.129630 0.004995 0.322222 0.004995 0.162963 0.004995 0.288889 0.004995 0.337037 0.004995 0.292593 0.004995 0.262963 0.004995 0.296296 0.004995 0.255556 0.004995 0.362963
8 1 0 0.555556 0.451852 0.555556 0.151852 0.555556 0.433333 0.555556 0.118519 0.555556 0.351852 0.555556 0.137037 0.555556 0.388889 0.555556 0.092593 0.555556 0.448148 0.555556 0.081481
1 0.444444 0.548148 0.444444 0.848148 0.444444 0.566667 0.444444 0.881481 0.444444 0.648148 0.444444 0.862963 0.444444 0.611111 0.444444 0.907407 0.444444 0.551852 0.444444 0.918519
3 0 0.147059 0.207407 0.147059 0.062963 0.147059 0.114815 0.147059 0.037037 0.147059 0.040741 0.147059 0.029630 0.147059 0.044444 0.147059 0.059259 0.147059 0.037037 0.147059 0.055556
1 0.441176 0.159259 0.441176 0.129630 0.441176 0.188889 0.441176 0.166667 0.441176 0.248148 0.441176 0.111111 0.441176 0.240741 0.441176 0.133333 0.441176 0.233333 0.441176 0.107407
2 0.343137 0.366667 0.343137 0.337037 0.343137 0.407407 0.343137 0.333333 0.343137 0.459259 0.343137 0.333333 0.343137 0.525926 0.343137 0.318519 0.343137 0.566667 0.343137 0.359259
3 0.068627 0.266667 0.068627 0.470370 0.068627 0.288889 0.068627 0.462963 0.068627 0.251852 0.068627 0.525926 0.068627 0.188889 0.068627 0.488889 0.068627 0.162963 0.068627 0.477778
5 0 0.029412 0.107407 0.029412 0.022222 0.029412 0.037037 0.029412 0.007407 0.029412 0.003704 0.029412 0.000000 0.029412 0.011111 0.029412 0.022222 0.029412 0.003704 0.029412 0.007407
1 0.196078 0.129630 0.196078 0.062963 0.196078 0.151852 0.196078 0.081481 0.196078 0.066667 0.196078 0.074074 0.196078 0.066667 0.196078 0.107407 0.196078 0.066667 0.196078 0.107407
2 0.392157 0.185185 0.392157 0.185185 0.392157 0.196296 0.392157 0.203704 0.392157 0.207407 0.392157 0.196296 0.392157 0.174074 0.392157 0.166667 0.392157 0.144444 0.392157 0.188889
3 0.294118 0.244444 0.294118 0.251852 0.294118 0.229630 0.294118 0.266667 0.294118 0.262963 0.294118 0.274074 0.294118 0.333333 0.294118 0.259259 0.294118 0.359259 0.294118 0.281481
4 0.081699 0.262963 0.081699 0.270370 0.081699 0.281481 0.081699 0.262963 0.081699 0.340741 0.081699 0.307407 0.081699 0.359259 0.081699 0.266667 0.081699 0.396296 0.081699 0.277778
5 0.006536 0.070370 0.006536 0.207407 0.006536 0.103704 0.006536 0.177778 0.006536 0.118519 0.006536 0.148148 0.006536 0.055556 0.006536 0.177778 0.006536 0.029630 0.006536 0.137037
80 1 1 0 0.987654 0.955556 0.987654 0.800000 0.987654 0.925926 0.987654 0.822222 0.987654 0.862963 0.987654 0.833333 0.987654 0.574074 0.987654 0.866667 0.987654 0.518519 0.987654 0.851852
1 0.012346 0.044444 0.012346 0.200000 0.012346 0.074074 0.012346 0.177778 0.012346 0.137037 0.012346 0.166667 0.012346 0.425926 0.012346 0.133333 0.012346 0.481481 0.012346 0.148148
3 0 0.962963 0.874074 0.962963 0.562963 0.962963 0.588889 0.962963 0.525926 0.962963 0.562963 0.962963 0.533333 0.962963 0.403704 0.962963 0.559259 0.962963 0.355556 0.962963 0.611111
1 0.037037 0.125926 0.037037 0.437037 0.037037 0.411111 0.037037 0.474074 0.037037 0.437037 0.037037 0.466667 0.037037 0.596296 0.037037 0.440741 0.037037 0.644444 0.037037 0.388889
5 0 0.938272 0.718519 0.938272 0.462963 0.938272 0.507407 0.938272 0.496296 0.938272 0.418519 0.938272 0.474074 0.938272 0.337037 0.938272 0.492593 0.938272 0.303704 0.938272 0.444444
1 0.061728 0.281481 0.061728 0.537037 0.061728 0.492593 0.061728 0.503704 0.061728 0.581481 0.061728 0.525926 0.061728 0.662963 0.061728 0.507407 0.061728 0.696296 0.061728 0.555556
4 1 0 0.952381 0.848148 0.952381 0.411111 0.952381 0.822222 0.952381 0.611111 0.952381 0.722222 0.952381 0.648148 0.952381 0.322222 0.952381 0.696296 0.952381 0.222222 0.952381 0.659259
1 0.047619 0.151852 0.047619 0.588889 0.047619 0.177778 0.047619 0.388889 0.047619 0.277778 0.047619 0.351852 0.047619 0.677778 0.047619 0.303704 0.047619 0.777778 0.047619 0.340741
3 0 0.862264 0.611111 0.862264 0.251852 0.862264 0.262963 0.862264 0.255556 0.862264 0.233333 0.862264 0.266667 0.862264 0.159259 0.862264 0.222222 0.862264 0.129630 0.862264 0.222222
1 0.132656 0.303704 0.132656 0.322222 0.132656 0.533333 0.132656 0.411111 0.132656 0.351852 0.132656 0.381481 0.132656 0.222222 0.132656 0.418519 0.132656 0.185185 0.132656 0.370370
2 0.005038 0.085185 0.005038 0.355556 0.005038 0.203704 0.005038 0.300000 0.005038 0.403704 0.005038 0.325926 0.005038 0.448148 0.005038 0.325926 0.005038 0.411111 0.005038 0.392593
3 0.000042 0.000000 0.000042 0.070370 0.000042 0.000000 0.000042 0.033333 0.000042 0.011111 0.000042 0.025926 0.000042 0.170370 0.000042 0.033333 0.000042 0.274074 0.000042 0.014815
5 0 0.778699 0.437037 0.778699 0.222222 0.778699 0.233333 0.778699 0.218519 0.778699 0.166667 0.778699 0.174074 0.778699 0.137037 0.778699 0.170370 0.778699 0.100000 0.778699 0.196296
1 0.204921 0.337037 0.204921 0.274074 0.204921 0.196296 0.204921 0.270370 0.204921 0.181481 0.204921 0.277778 0.204921 0.174074 0.204921 0.300000 0.204921 0.196296 0.204921 0.322222
2 0.015968 0.185185 0.015968 0.229630 0.015968 0.292593 0.015968 0.237037 0.015968 0.348148 0.015968 0.274074 0.015968 0.207407 0.015968 0.240741 0.015968 0.211111 0.015968 0.188889
3 0.000409 0.040741 0.000409 0.166667 0.000409 0.270370 0.000409 0.188889 0.000409 0.259259 0.000409 0.196296 0.000409 0.274074 0.000409 0.229630 0.000409 0.262963 0.000409 0.218519
4 0.000003 0.000000 0.000003 0.107407 0.000003 0.007407 0.000003 0.085185 0.000003 0.044444 0.000003 0.077778 0.000003 0.207407 0.000003 0.059259 0.000003 0.229630 0.000003 0.074074
8 1 0 0.909091 0.740741 0.909091 0.333333 0.909091 0.781481 0.909091 0.444444 0.909091 0.718519 0.909091 0.470370 0.909091 0.222222 0.909091 0.496296 0.909091 0.229630 0.909091 0.522222
1 0.090909 0.259259 0.090909 0.666667 0.090909 0.218519 0.090909 0.555556 0.090909 0.281481 0.090909 0.529630 0.090909 0.777778 0.090909 0.503704 0.090909 0.770370 0.090909 0.477778
3 0 0.748706 0.488889 0.748706 0.159259 0.748706 0.251852 0.748706 0.166667 0.748706 0.211111 0.748706 0.174074 0.748706 0.137037 0.748706 0.129630 0.748706 0.114815 0.748706 0.207407
1 0.230371 0.303704 0.230371 0.274074 0.230371 0.437037 0.230371 0.270370 0.230371 0.248148 0.230371 0.288889 0.230371 0.148148 0.230371 0.303704 0.230371 0.155556 0.230371 0.225926
2 0.020413 0.133333 0.020413 0.422222 0.020413 0.296296 0.020413 0.481481 0.020413 0.474074 0.020413 0.470370 0.020413 0.374074 0.020413 0.466667 0.020413 0.303704 0.020413 0.503704
3 0.000510 0.074074 0.000510 0.144444 0.000510 0.014815 0.000510 0.081481 0.000510 0.066667 0.000510 0.066667 0.000510 0.340741 0.000510 0.100000 0.000510 0.425926 0.000510 0.062963
5 0 0.613645 0.377778 0.613645 0.107407 0.613645 0.233333 0.613645 0.114815 0.613645 0.166667 0.613645 0.103704 0.613645 0.077778 0.613645 0.085185 0.613645 0.077778 0.613645 0.122222
1 0.322971 0.166667 0.322971 0.188889 0.322971 0.092593 0.322971 0.203704 0.322971 0.114815 0.322971 0.174074 0.322971 0.151852 0.322971 0.222222 0.322971 0.125926 0.322971 0.181481
2 0.058722 0.222222 0.058722 0.222222 0.058722 0.240741 0.058722 0.188889 0.058722 0.196296 0.058722 0.214815 0.058722 0.137037 0.058722 0.174074 0.058722 0.140741 0.058722 0.174074
3 0.004517 0.185185 0.004517 0.200000 0.004517 0.344444 0.004517 0.285185 0.004517 0.281481 0.004517 0.307407 0.004517 0.170370 0.004517 0.277778 0.004517 0.170370 0.004517 0.292593
4 0.000143 0.044444 0.000143 0.255556 0.000143 0.085185 0.000143 0.207407 0.000143 0.222222 0.000143 0.196296 0.000143 0.366667 0.000143 0.240741 0.000143 0.292593 0.000143 0.225926
5 0.000001 0.003704 0.000001 0.025926 0.000001 0.003704 0.000001 0.000000 0.000001 0.018519 0.000001 0.003704 0.000001 0.096296 0.000001 0.000000 0.000001 0.192593 0.000001 0.003704

Untuk mempermudah, seperti biasa, tabel akan diplot.


In [5]:
df_plot = df_agg.copy()

Buang kolom-kolom yang redundan.


In [6]:
for i in [0.1, 0.3, 0.5, 0.8, 1.0]:
    del df_plot[(str(i), 'euclidean', 'base')]

In [7]:
df_plot


Out[7]:
max_features 0.1 0.3 0.5 0.8 1.0
metric correlation euclidean correlation euclidean correlation euclidean correlation euclidean correlation euclidean
result base perf perf base perf perf base perf perf base perf perf base perf perf
num_norm num_oot num_top k
10 1 1 0 0.909091 0.674074 0.225926 0.909091 0.496296 0.162963 0.909091 0.425926 0.177778 0.909091 0.433333 0.225926 0.909091 0.466667 0.203704
1 0.090909 0.325926 0.774074 0.090909 0.503704 0.837037 0.090909 0.574074 0.822222 0.090909 0.566667 0.774074 0.090909 0.533333 0.796296
3 0 0.727273 0.566667 0.144444 0.727273 0.222222 0.114815 0.727273 0.151852 0.118519 0.727273 0.077778 0.140741 0.727273 0.033333 0.103704
1 0.272727 0.433333 0.855556 0.272727 0.777778 0.885185 0.272727 0.848148 0.881481 0.272727 0.922222 0.859259 0.272727 0.966667 0.896296
5 0 0.545455 0.466667 0.051852 0.545455 0.240741 0.074074 0.545455 0.088889 0.062963 0.545455 0.037037 0.037037 0.545455 0.025926 0.062963
1 0.454545 0.533333 0.948148 0.454545 0.759259 0.925926 0.454545 0.911111 0.937037 0.454545 0.962963 0.962963 0.454545 0.974074 0.937037
4 1 0 0.714286 0.433333 0.133333 0.714286 0.333333 0.100000 0.714286 0.307407 0.159259 0.714286 0.314815 0.137037 0.714286 0.355556 0.170370
1 0.285714 0.566667 0.866667 0.285714 0.666667 0.900000 0.285714 0.692593 0.840741 0.285714 0.685185 0.862963 0.285714 0.644444 0.829630
3 0 0.329670 0.177778 0.051852 0.329670 0.070370 0.092593 0.329670 0.048148 0.051852 0.329670 0.029630 0.059259 0.329670 0.014815 0.085185
1 0.494505 0.288889 0.218519 0.494505 0.233333 0.200000 0.494505 0.207407 0.222222 0.494505 0.255556 0.174074 0.494505 0.259259 0.207407
2 0.164835 0.385185 0.270370 0.164835 0.485185 0.311111 0.164835 0.481481 0.300000 0.164835 0.607407 0.348148 0.164835 0.629630 0.314815
3 0.010989 0.148148 0.459259 0.010989 0.211111 0.396296 0.010989 0.262963 0.425926 0.010989 0.107407 0.418519 0.010989 0.096296 0.392593
5 0 0.125874 0.118519 0.033333 0.125874 0.066667 0.022222 0.125874 0.029630 0.040741 0.125874 0.003704 0.040741 0.125874 0.003704 0.025926
1 0.419580 0.200000 0.114815 0.419580 0.129630 0.148148 0.419580 0.081481 0.137037 0.419580 0.088889 0.118519 0.419580 0.044444 0.125926
2 0.359640 0.277778 0.266667 0.359640 0.222222 0.200000 0.359640 0.203704 0.266667 0.359640 0.103704 0.240741 0.359640 0.170370 0.196296
3 0.089910 0.274074 0.262963 0.089910 0.418519 0.340741 0.089910 0.348148 0.262963 0.089910 0.540741 0.303704 0.089910 0.525926 0.288889
4 0.004995 0.129630 0.322222 0.004995 0.162963 0.288889 0.004995 0.337037 0.292593 0.004995 0.262963 0.296296 0.004995 0.255556 0.362963
8 1 0 0.555556 0.451852 0.151852 0.555556 0.433333 0.118519 0.555556 0.351852 0.137037 0.555556 0.388889 0.092593 0.555556 0.448148 0.081481
1 0.444444 0.548148 0.848148 0.444444 0.566667 0.881481 0.444444 0.648148 0.862963 0.444444 0.611111 0.907407 0.444444 0.551852 0.918519
3 0 0.147059 0.207407 0.062963 0.147059 0.114815 0.037037 0.147059 0.040741 0.029630 0.147059 0.044444 0.059259 0.147059 0.037037 0.055556
1 0.441176 0.159259 0.129630 0.441176 0.188889 0.166667 0.441176 0.248148 0.111111 0.441176 0.240741 0.133333 0.441176 0.233333 0.107407
2 0.343137 0.366667 0.337037 0.343137 0.407407 0.333333 0.343137 0.459259 0.333333 0.343137 0.525926 0.318519 0.343137 0.566667 0.359259
3 0.068627 0.266667 0.470370 0.068627 0.288889 0.462963 0.068627 0.251852 0.525926 0.068627 0.188889 0.488889 0.068627 0.162963 0.477778
5 0 0.029412 0.107407 0.022222 0.029412 0.037037 0.007407 0.029412 0.003704 0.000000 0.029412 0.011111 0.022222 0.029412 0.003704 0.007407
1 0.196078 0.129630 0.062963 0.196078 0.151852 0.081481 0.196078 0.066667 0.074074 0.196078 0.066667 0.107407 0.196078 0.066667 0.107407
2 0.392157 0.185185 0.185185 0.392157 0.196296 0.203704 0.392157 0.207407 0.196296 0.392157 0.174074 0.166667 0.392157 0.144444 0.188889
3 0.294118 0.244444 0.251852 0.294118 0.229630 0.266667 0.294118 0.262963 0.274074 0.294118 0.333333 0.259259 0.294118 0.359259 0.281481
4 0.081699 0.262963 0.270370 0.081699 0.281481 0.262963 0.081699 0.340741 0.307407 0.081699 0.359259 0.266667 0.081699 0.396296 0.277778
5 0.006536 0.070370 0.207407 0.006536 0.103704 0.177778 0.006536 0.118519 0.148148 0.006536 0.055556 0.177778 0.006536 0.029630 0.137037
80 1 1 0 0.987654 0.955556 0.800000 0.987654 0.925926 0.822222 0.987654 0.862963 0.833333 0.987654 0.574074 0.866667 0.987654 0.518519 0.851852
1 0.012346 0.044444 0.200000 0.012346 0.074074 0.177778 0.012346 0.137037 0.166667 0.012346 0.425926 0.133333 0.012346 0.481481 0.148148
3 0 0.962963 0.874074 0.562963 0.962963 0.588889 0.525926 0.962963 0.562963 0.533333 0.962963 0.403704 0.559259 0.962963 0.355556 0.611111
1 0.037037 0.125926 0.437037 0.037037 0.411111 0.474074 0.037037 0.437037 0.466667 0.037037 0.596296 0.440741 0.037037 0.644444 0.388889
5 0 0.938272 0.718519 0.462963 0.938272 0.507407 0.496296 0.938272 0.418519 0.474074 0.938272 0.337037 0.492593 0.938272 0.303704 0.444444
1 0.061728 0.281481 0.537037 0.061728 0.492593 0.503704 0.061728 0.581481 0.525926 0.061728 0.662963 0.507407 0.061728 0.696296 0.555556
4 1 0 0.952381 0.848148 0.411111 0.952381 0.822222 0.611111 0.952381 0.722222 0.648148 0.952381 0.322222 0.696296 0.952381 0.222222 0.659259
1 0.047619 0.151852 0.588889 0.047619 0.177778 0.388889 0.047619 0.277778 0.351852 0.047619 0.677778 0.303704 0.047619 0.777778 0.340741
3 0 0.862264 0.611111 0.251852 0.862264 0.262963 0.255556 0.862264 0.233333 0.266667 0.862264 0.159259 0.222222 0.862264 0.129630 0.222222
1 0.132656 0.303704 0.322222 0.132656 0.533333 0.411111 0.132656 0.351852 0.381481 0.132656 0.222222 0.418519 0.132656 0.185185 0.370370
2 0.005038 0.085185 0.355556 0.005038 0.203704 0.300000 0.005038 0.403704 0.325926 0.005038 0.448148 0.325926 0.005038 0.411111 0.392593
3 0.000042 0.000000 0.070370 0.000042 0.000000 0.033333 0.000042 0.011111 0.025926 0.000042 0.170370 0.033333 0.000042 0.274074 0.014815
5 0 0.778699 0.437037 0.222222 0.778699 0.233333 0.218519 0.778699 0.166667 0.174074 0.778699 0.137037 0.170370 0.778699 0.100000 0.196296
1 0.204921 0.337037 0.274074 0.204921 0.196296 0.270370 0.204921 0.181481 0.277778 0.204921 0.174074 0.300000 0.204921 0.196296 0.322222
2 0.015968 0.185185 0.229630 0.015968 0.292593 0.237037 0.015968 0.348148 0.274074 0.015968 0.207407 0.240741 0.015968 0.211111 0.188889
3 0.000409 0.040741 0.166667 0.000409 0.270370 0.188889 0.000409 0.259259 0.196296 0.000409 0.274074 0.229630 0.000409 0.262963 0.218519
4 0.000003 0.000000 0.107407 0.000003 0.007407 0.085185 0.000003 0.044444 0.077778 0.000003 0.207407 0.059259 0.000003 0.229630 0.074074
8 1 0 0.909091 0.740741 0.333333 0.909091 0.781481 0.444444 0.909091 0.718519 0.470370 0.909091 0.222222 0.496296 0.909091 0.229630 0.522222
1 0.090909 0.259259 0.666667 0.090909 0.218519 0.555556 0.090909 0.281481 0.529630 0.090909 0.777778 0.503704 0.090909 0.770370 0.477778
3 0 0.748706 0.488889 0.159259 0.748706 0.251852 0.166667 0.748706 0.211111 0.174074 0.748706 0.137037 0.129630 0.748706 0.114815 0.207407
1 0.230371 0.303704 0.274074 0.230371 0.437037 0.270370 0.230371 0.248148 0.288889 0.230371 0.148148 0.303704 0.230371 0.155556 0.225926
2 0.020413 0.133333 0.422222 0.020413 0.296296 0.481481 0.020413 0.474074 0.470370 0.020413 0.374074 0.466667 0.020413 0.303704 0.503704
3 0.000510 0.074074 0.144444 0.000510 0.014815 0.081481 0.000510 0.066667 0.066667 0.000510 0.340741 0.100000 0.000510 0.425926 0.062963
5 0 0.613645 0.377778 0.107407 0.613645 0.233333 0.114815 0.613645 0.166667 0.103704 0.613645 0.077778 0.085185 0.613645 0.077778 0.122222
1 0.322971 0.166667 0.188889 0.322971 0.092593 0.203704 0.322971 0.114815 0.174074 0.322971 0.151852 0.222222 0.322971 0.125926 0.181481
2 0.058722 0.222222 0.222222 0.058722 0.240741 0.188889 0.058722 0.196296 0.214815 0.058722 0.137037 0.174074 0.058722 0.140741 0.174074
3 0.004517 0.185185 0.200000 0.004517 0.344444 0.285185 0.004517 0.281481 0.307407 0.004517 0.170370 0.277778 0.004517 0.170370 0.292593
4 0.000143 0.044444 0.255556 0.000143 0.085185 0.207407 0.000143 0.222222 0.196296 0.000143 0.366667 0.240741 0.000143 0.292593 0.225926
5 0.000001 0.003704 0.025926 0.000001 0.003704 0.000000 0.000001 0.018519 0.003704 0.000001 0.096296 0.000000 0.000001 0.192593 0.003704

Buat fungsi untuk menggambar setiap kejadian (num_norm, num_oot, num_top yang berbeda).


In [8]:
def plot_index(df, name):
    fig = plt.figure(figsize=(18,6))
    fig.suptitle('num_norm = {}, num_oot = {}, num_top = {}'.format(*name), fontsize=14, y=1.02)
    options = {'kind': 'bar', 'legend': False, 'sharex': False}

    ax1 = plt.subplot2grid((2,3),(0,0))
    df['0.1'].plot(title='max_features = 10%', ax=ax1, **options)

    ax2 = plt.subplot2grid((2,3),(0,1))
    df['0.3'].plot(title='max_features = 30%', ax=ax2, **options)

    ax3 = plt.subplot2grid((2,3),(0,2))
    df['0.5'].plot(title='max_features = 50%', ax=ax3, **options)

    ax4 = plt.subplot2grid((2,3),(1,0))
    df['0.8'].plot(title='max_features = 80%', ax=ax4, **options)

    ax5 = plt.subplot2grid((2,3),(1,1))
    df['1.0'].plot(title='max_features = 100%', ax=ax5, **options)
    
    plt.tight_layout()  # so subplot titles and x labels won't overlap

Gambar grafiknya. Pada grafik ini, warna biru, hijau, dan merah menyatakan baseline, correlation, dan euclidean metric berturut-turut.


In [9]:
grouped = df_plot.groupby(level=['num_norm','num_oot','num_top'])
for name, _ in grouped:
    plot_index(df_plot.loc[name], name)


Selanjutnya, seperti biasa akan dihitung expected value-nya.


In [10]:
ngroup = len(grouped)
data = np.empty((ngroup, 20))
index = []
for i, (name, _) in enumerate(grouped):
    df_tmp = df_agg.loc[name]
    prod = df_tmp.T * np.array(df_tmp.index)
    exp_val = prod.sum(axis=1)
    data[i, :] = exp_val
    index.append(name)

In [11]:
index = pd.MultiIndex.from_tuples(index, names=['num_norm','num_oot','num_top'])
columns = df_agg.columns.copy()

In [12]:
result = pd.DataFrame(data, index=index, columns=columns)

In [13]:
result


Out[13]:
max_features 0.1 0.3 0.5 0.8 1.0
metric correlation euclidean correlation euclidean correlation euclidean correlation euclidean correlation euclidean
result base perf base perf base perf base perf base perf base perf base perf base perf base perf base perf
num_norm num_oot num_top
10 1 1 0.090909 0.325926 0.090909 0.774074 0.090909 0.503704 0.090909 0.837037 0.090909 0.574074 0.090909 0.822222 0.090909 0.566667 0.090909 0.774074 0.090909 0.533333 0.090909 0.796296
3 0.272727 0.433333 0.272727 0.855556 0.272727 0.777778 0.272727 0.885185 0.272727 0.848148 0.272727 0.881481 0.272727 0.922222 0.272727 0.859259 0.272727 0.966667 0.272727 0.896296
5 0.454545 0.533333 0.454545 0.948148 0.454545 0.759259 0.454545 0.925926 0.454545 0.911111 0.454545 0.937037 0.454545 0.962963 0.454545 0.962963 0.454545 0.974074 0.454545 0.937037
4 1 0.285714 0.566667 0.285714 0.866667 0.285714 0.666667 0.285714 0.900000 0.285714 0.692593 0.285714 0.840741 0.285714 0.685185 0.285714 0.862963 0.285714 0.644444 0.285714 0.829630
3 0.857143 1.503704 0.857143 2.137037 0.857143 1.837037 0.857143 2.011111 0.857143 1.959259 0.857143 2.100000 0.857143 1.792593 0.857143 2.125926 0.857143 1.807407 0.857143 2.014815
5 1.428571 2.096296 1.428571 2.725926 1.428571 2.481481 1.428571 2.725926 1.428571 2.881481 1.428571 2.629630 1.428571 2.970370 1.428571 2.696296 1.428571 2.985185 1.428571 2.837037
8 1 0.444444 0.548148 0.444444 0.848148 0.444444 0.566667 0.444444 0.881481 0.444444 0.648148 0.444444 0.862963 0.444444 0.611111 0.444444 0.907407 0.444444 0.551852 0.444444 0.918519
3 1.333333 1.692593 1.333333 2.214815 1.333333 1.870370 1.333333 2.222222 1.333333 1.922222 1.333333 2.355556 1.333333 1.859259 1.333333 2.237037 1.333333 1.855556 1.333333 2.259259
5 2.222222 2.637037 2.222222 3.307407 2.222222 2.877778 2.222222 3.229630 2.222222 3.225926 2.222222 3.259259 2.222222 3.129630 2.222222 3.174074 2.222222 3.166667 2.222222 3.125926
80 1 1 0.012346 0.044444 0.012346 0.200000 0.012346 0.074074 0.012346 0.177778 0.012346 0.137037 0.012346 0.166667 0.012346 0.425926 0.012346 0.133333 0.012346 0.481481 0.012346 0.148148
3 0.037037 0.125926 0.037037 0.437037 0.037037 0.411111 0.037037 0.474074 0.037037 0.437037 0.037037 0.466667 0.037037 0.596296 0.037037 0.440741 0.037037 0.644444 0.037037 0.388889
5 0.061728 0.281481 0.061728 0.537037 0.061728 0.492593 0.061728 0.503704 0.061728 0.581481 0.061728 0.525926 0.061728 0.662963 0.061728 0.507407 0.061728 0.696296 0.061728 0.555556
4 1 0.047619 0.151852 0.047619 0.588889 0.047619 0.177778 0.047619 0.388889 0.047619 0.277778 0.047619 0.351852 0.047619 0.677778 0.047619 0.303704 0.047619 0.777778 0.047619 0.340741
3 0.142857 0.474074 0.142857 1.244444 0.142857 0.940741 0.142857 1.111111 0.142857 1.192593 0.142857 1.111111 0.142857 1.629630 0.142857 1.170370 0.142857 1.829630 0.142857 1.200000
5 0.238095 0.829630 0.238095 1.662963 0.238095 1.622222 0.238095 1.651852 0.238095 1.833333 0.238095 1.725926 0.238095 2.240741 0.238095 1.707407 0.238095 2.325926 0.238095 1.651852
8 1 0.090909 0.259259 0.090909 0.666667 0.090909 0.218519 0.090909 0.555556 0.090909 0.281481 0.090909 0.529630 0.090909 0.777778 0.090909 0.503704 0.090909 0.770370 0.090909 0.477778
3 0.272727 0.792593 0.272727 1.551852 0.272727 1.074074 0.272727 1.477778 0.272727 1.396296 0.272727 1.429630 0.272727 1.918519 0.272727 1.537037 0.272727 2.040741 0.272727 1.422222
5 0.454545 1.362963 0.454545 2.385185 0.454545 1.966667 0.454545 2.266667 0.454545 2.333333 0.454545 2.329630 0.454545 2.885185 0.454545 2.366667 0.454545 3.051852 0.454545 2.329630

Karena tabelnya besar sekali, lebih baik disajikan dalam bentuk grafik.


In [14]:
result_plot = result.copy()

Buang baseline karena baik correlation maupun euclidean sudah lebih baik daripada baseline.


In [15]:
result_plot.drop('base', axis=1, level='result', inplace=True)

In [16]:
result_plot.columns = result_plot.columns.droplevel('result')

In [17]:
result_plot


Out[17]:
max_features 0.1 0.3 0.5 0.8 1.0
metric correlation euclidean correlation euclidean correlation euclidean correlation euclidean correlation euclidean
num_norm num_oot num_top
10 1 1 0.325926 0.774074 0.503704 0.837037 0.574074 0.822222 0.566667 0.774074 0.533333 0.796296
3 0.433333 0.855556 0.777778 0.885185 0.848148 0.881481 0.922222 0.859259 0.966667 0.896296
5 0.533333 0.948148 0.759259 0.925926 0.911111 0.937037 0.962963 0.962963 0.974074 0.937037
4 1 0.566667 0.866667 0.666667 0.900000 0.692593 0.840741 0.685185 0.862963 0.644444 0.829630
3 1.503704 2.137037 1.837037 2.011111 1.959259 2.100000 1.792593 2.125926 1.807407 2.014815
5 2.096296 2.725926 2.481481 2.725926 2.881481 2.629630 2.970370 2.696296 2.985185 2.837037
8 1 0.548148 0.848148 0.566667 0.881481 0.648148 0.862963 0.611111 0.907407 0.551852 0.918519
3 1.692593 2.214815 1.870370 2.222222 1.922222 2.355556 1.859259 2.237037 1.855556 2.259259
5 2.637037 3.307407 2.877778 3.229630 3.225926 3.259259 3.129630 3.174074 3.166667 3.125926
80 1 1 0.044444 0.200000 0.074074 0.177778 0.137037 0.166667 0.425926 0.133333 0.481481 0.148148
3 0.125926 0.437037 0.411111 0.474074 0.437037 0.466667 0.596296 0.440741 0.644444 0.388889
5 0.281481 0.537037 0.492593 0.503704 0.581481 0.525926 0.662963 0.507407 0.696296 0.555556
4 1 0.151852 0.588889 0.177778 0.388889 0.277778 0.351852 0.677778 0.303704 0.777778 0.340741
3 0.474074 1.244444 0.940741 1.111111 1.192593 1.111111 1.629630 1.170370 1.829630 1.200000
5 0.829630 1.662963 1.622222 1.651852 1.833333 1.725926 2.240741 1.707407 2.325926 1.651852
8 1 0.259259 0.666667 0.218519 0.555556 0.281481 0.529630 0.777778 0.503704 0.770370 0.477778
3 0.792593 1.551852 1.074074 1.477778 1.396296 1.429630 1.918519 1.537037 2.040741 1.422222
5 1.362963 2.385185 1.966667 2.266667 2.333333 2.329630 2.885185 2.366667 3.051852 2.329630

Tabel di atas akan disajikan dalam grafik.


In [18]:
grouped = result_plot.groupby(level=['num_norm','num_oot','num_top'])
plt.figure(figsize=(18,18))
for i, (name, _) in enumerate(grouped):
    df_tmp = result_plot.loc[name].unstack('metric')
    r, c = i // 3, i % 3
    ax = plt.subplot2grid((6,3),(r,c))
    df_tmp.plot(kind='line', marker='o', ax=ax, title='num_norm = {}, num_oot = {}, num_top = {}'.format(*name), sharex=False)
    plt.legend(loc='best')
plt.tight_layout()