In [40]:
import pandas as pd
import matplotlib.pyplot as plt

In [41]:
domain = 'food'
df = pd.read_csv('~/' + domain + '.csv', skiprows=[1])

In [42]:
df.head()


Out[42]:
buffer mode parent family iterations precision recall f1 f_m
0 5 reattach poincare fasttext 1 0.3333 0.1890 0.2413 0.2087
1 5 reattach poincare fasttext 2 0.3318 0.1878 0.2398 0.2085
2 5 reattach poincare fasttext 3 0.3318 0.1878 0.2398 0.2085
3 5 reattach poincare fasttext 4 0.3318 0.1878 0.2398 0.2085
4 5 reattach poincare fasttext 5 0.3318 0.1878 0.2398 0.2085

In [43]:
buffer = 10
mode = 'reattach'

In [44]:
df = df.loc[(df['buffer'] == buffer) & (df['mode'] == mode)]

In [45]:
df_both = df.loc[(df['parent'] == 'poincare') & (df['family'] == 'fasttext')]
df_both


Out[45]:
buffer mode parent family iterations precision recall f1 f_m
60 10 reattach poincare fasttext 1 0.3326 0.1884 0.2405 0.2087
61 10 reattach poincare fasttext 2 0.3318 0.1878 0.2398 0.2085
62 10 reattach poincare fasttext 3 0.3318 0.1878 0.2398 0.2085
63 10 reattach poincare fasttext 4 0.3318 0.1878 0.2398 0.2085
64 10 reattach poincare fasttext 5 0.3304 0.1865 0.2384 0.2083
65 10 reattach poincare fasttext 6 0.3285 0.1853 0.2369 0.2080
66 10 reattach poincare fasttext 7 0.3255 0.1834 0.2346 0.2085
67 10 reattach poincare fasttext 8 0.3180 0.1790 0.2290 0.2079
68 10 reattach poincare fasttext 9 0.3161 0.1777 0.2275 0.2084
69 10 reattach poincare fasttext 10 0.3146 0.1764 0.2261 0.2083

In [46]:
df_parent = df.loc[(df['parent'] == 'poincare') & (df['family'] == '-')]
df_parent


Out[46]:
buffer mode parent family iterations precision recall f1 f_m
70 10 reattach poincare - 1 0.3326 0.1884 0.2405 0.2087
71 10 reattach poincare - 2 0.3318 0.1878 0.2398 0.2085
72 10 reattach poincare - 3 0.3318 0.1878 0.2398 0.2085
73 10 reattach poincare - 4 0.3318 0.1878 0.2398 0.2085
74 10 reattach poincare - 5 0.3300 0.1865 0.2383 0.2085
75 10 reattach poincare - 6 0.3285 0.1853 0.2369 0.2078
76 10 reattach poincare - 7 0.3274 0.1840 0.2356 0.2078
77 10 reattach poincare - 8 0.3239 0.1802 0.2316 0.2052
78 10 reattach poincare - 9 0.3273 0.1821 0.2340 0.2044
79 10 reattach poincare - 10 0.3265 0.1815 0.2333 0.2053

In [47]:
df_family = df.loc[(df['parent'] == '-') & (df['family'] == 'fasttext')]
df_family


Out[47]:
buffer mode parent family iterations precision recall f1 f_m
80 10 reattach - fasttext 1 0.3311 0.1871 0.2391 0.2083
81 10 reattach - fasttext 2 0.3311 0.1871 0.2391 0.2083
82 10 reattach - fasttext 3 0.3292 0.1859 0.2376 0.2074
83 10 reattach - fasttext 4 0.3292 0.1859 0.2376 0.2074
84 10 reattach - fasttext 5 0.3270 0.1840 0.2355 0.2068
85 10 reattach - fasttext 6 0.3225 0.1815 0.2323 0.2065
86 10 reattach - fasttext 7 0.3221 0.1808 0.2316 0.2070
87 10 reattach - fasttext 8 0.3146 0.1764 0.2261 0.2064
88 10 reattach - fasttext 9 0.3145 0.1758 0.2255 0.2062
89 10 reattach - fasttext 10 0.3141 0.1752 0.2249 0.2061

In [50]:
# Buffer:  | Mode: 

metric = 'precision'
plt.plot(df_both['iterations'], df_both[metric], label='Both')
plt.plot(df_parent['iterations'], df_parent[metric], alpha=0.7, label='Only Parent')
plt.plot(df_family['iterations'], df_family[metric], alpha=0.7, label='Only Family')
plt.legend(loc='lower right')
plt.xlabel('Number of iterations')
plt.ylabel(metric)
plt.title('Buffer: ' + str(buffer) + ' | Mode: ' + mode + ' | ' + metric)
# plt.axis([0, 10, 0.364, 0.369])
plt.savefig('b5_mr.png')
plt.show()



In [ ]: