In [1]:
import pandas as pd
import numpy as np
import tensorflow as tf
from main import *
In [2]:
import matplotlib as mpl
mpl.rc('font', family='Source Han Serif KR')
from matplotlib import pyplot as plt
In [3]:
train()
In [4]:
%matplotlib inline
def show_perf_heatmap(dat, xlabel='', ylabel='', ax=None, *kwargs):
if ax is None:
fig = plt.figure(figsize=(8, 6))
else:
plt.sca(ax)
ax = plt.pcolor(dat, cmap='coolwarm', *kwargs)
ax.
yticks = np.arange(0.5, len(dat.index), 1)
xticks = np.arange(0.5, len(dat.columns), 1)
plt.yticks(yticks, dat.index, fontsize=12)
plt.ylabel(ylabel, fontsize=14)
plt.xticks(xticks, dat.columns, fontsize=12)
plt.xlabel(xlabel, fontsize=14)
for y in range(len(yticks)):
for x in range(len(xticks)):
plt.text(x + 0.5, y + 0.5,
'%.1f' % dat[dat.columns[x]][dat.index[y]],
horizontalalignment='center',
verticalalignment='center',
fontsize=13)
In [5]:
dat_perf_dc = perf_disconn()
dat_perf_ns = perf_noise()
In [68]:
fig, axes = plt.subplots(nrows=2, figsize=(12, 8))
show_perf_heatmap(dat_perf_dc,
xlabel='Disconnect severity',
ylabel='Connection', ax=axes[0])
show_perf_heatmap(dat_perf_ns,
xlabel='Addition of noise to connections',
ylabel='Connection', ax=axes[1])
plt.subplots_adjust(top=0.85)
plt.tight_layout()
plt.savefig('resources/correct-performance.png', format='png')
plt.show()
In [7]:
dat_proxgap = proxgap_disconn()
dat_proxgap_ori = proxgap_disconn(None, 0)
In [50]:
%matplotlib inline
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
fig, ax = plt.subplots(figsize=(12, 8))
ax.scatter(dat_proxgap_ori.gap, dat_proxgap_ori.proximity, c='blue')
for i, idx in enumerate(dat_proxgap.index):
ax.annotate(idx, (dat_proxgap_ori['gap'][i] + .003, dat_proxgap_ori['proximity'][i]),
verticalalignment='top',)
ax.set_xlim(-.1, 0.275)
ax.set_ylim(0.775, 1)
plt.xlabel('Gap', fontsize=14)
plt.ylabel('Proximity', fontsize=14)
plt.axvline(x=0.05, color='g', alpha=.5)
plt.axhline(y=0.8, color='g', alpha=.5)
plt.legend(['Thresholds'],
loc='lower right', fontsize=14)
plt.grid()
fig.tight_layout()
ax2 = plt.axes([.125, .125, .1, .1])
ax2.scatter(dat_proxgap_ori.gap, dat_proxgap_ori.proximity, c='blue')
for i, idx in enumerate(dat_proxgap.index):
ax2.annotate(idx, (dat_proxgap_ori['gap'][i] + .003, dat_proxgap_ori['proximity'][i]),
verticalalignment='top',)
ax2.set_xlim(-0.17, -0.13)
ax2.set_ylim(0.61, 0.65)
plt.grid()
plt.savefig('resources/gap-prox.png', format='png')
plt.show()
In [56]:
%matplotlib inline
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes
fig, ax = plt.subplots(figsize=(12, 8))
ax.scatter(dat_proxgap.gap, dat_proxgap.proximity, c='r')
for i, idx in enumerate(dat_proxgap.index):
ax.annotate(idx, (dat_proxgap['gap'][i] + .003, dat_proxgap['proximity'][i]),
verticalalignment='top',)
ax.set_xlim(-.125, 0.25)
ax.set_ylim(0.7, 1)
plt.xlabel('Gap', fontsize=14)
plt.ylabel('Proximity', fontsize=14)
plt.axvline(x=0.05, color='g', alpha=.5)
plt.axhline(y=0.8, color='g', alpha=.5)
plt.legend(['Thresholds'],
loc='lower right', fontsize=14)
plt.grid()
fig.tight_layout()
ax2 = plt.axes([.125, .325, .1, .1])
ax2.scatter(dat_proxgap.gap, dat_proxgap.proximity, c='r')
for i, idx in enumerate(dat_proxgap.index):
ax2.annotate(idx, (dat_proxgap['gap'][i] + .003, dat_proxgap['proximity'][i]),
verticalalignment='top',)
ax2.set_xlim(-0.275, -0.05)
ax2.set_ylim(0.58, 0.65)
plt.grid()
plt.savefig('resources/gap-prox-lesion.png', format='png')
plt.show()