In [132]:
# imports
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParams
import seaborn as sns
from bokeh.plotting import figure
from bokeh.charts import TimeSeries
%matplotlib inline
In [135]:
rcParams['figure.figsize'] = (100, 6)
In [37]:
# files
subjects_train = [[{k: 'train/subj%d_series%d_%s.csv' % (i, j, k)
for k in ['data', 'events']}
for j in range(1, 9)]
for i in range(1, 13)]
subjects_test = [[{k: 'test/subj%d_series%d_%s.csv' % (i, j, k)
for k in ['data', 'events']}
for j in range(9, 11)]
for i in range(1, 13)]
In [121]:
electrodes = [
'Fp1', 'Fp2', 'F7', 'F3', 'Fz', 'F4', 'F8', 'FC5',
'FC1', 'FC2', 'FC6', 'T7', 'C3', 'Cz', 'C4', 'T8',
'TP9', 'CP5', 'CP1', 'CP2', 'CP6', 'TP10', 'P7', 'P3',
'Pz', 'P4', 'P8', 'PO9', 'O1', 'Oz', 'O2', 'PO10']
neighbours = {
'Fp1': ['F3', 'F7', 'Fz', 'Fp2'],
'Fp2': ['F4', 'F8', 'Fz', 'Fp1'],
'F7': ['FC5', 'F3', 'Fp1'],
'F3': ['FC1', 'FC5', 'F7', 'Fz', 'Fp1'],
'Fz': ['FC1', 'FC2', 'F3', 'F4'],
'F4': ['FC2', 'FC6', 'F8', 'Fz', 'Fp2'],
'F8': ['FC6', 'F4', 'Fp2'],
'FC5': ['F7', 'F3', 'C3', 'T7'],
'FC1': ['F3', 'Fz', 'Cz', 'C3'],
'FC2': ['F4', 'Fz', 'Cz', 'C4'],
'FC6': ['F8', 'F4', 'C4', 'T8'],
'T7': ['FC5', 'CP5', 'TP9'],
'C3': ['FC5', 'CP5', 'FC1', 'CP1'],
'Cz': ['FC1', 'FC2', 'CP1', 'CP2'],
'C4': ['FC6', 'CP6', 'FC2', 'CP2'],
'T8': ['FC6', 'CP6', 'TP10'],
'TP9': ['P7', 'T7'],
'CP5': ['P7', 'P3', 'C3', 'T7'],
'CP1': ['P3', 'Pz', 'Cz', 'C3'],
'CP2': ['P4', 'Pz', 'Cz', 'C4'],
'CP6': ['P8', 'P4', 'C4', 'T8'],
'TP10': ['P8', 'T8'],
'P7': ['CP5', 'TP9', 'PO9', 'P3'],
'P3': ['CP1', 'CP5', 'Pz', 'O1'],
'Pz': ['CP1', 'CP2', 'P3', 'P4', 'O1', 'O2'],
'P4': ['CP2', 'CP6', 'Pz', 'O2'],
'P8': ['CP6', 'TP10', 'PO10', 'P4'],
'PO9': ['P7', 'O1'],
'O1': ['Oz', 'P3', 'PO9'],
'Oz': ['O1', 'O2', 'Pz'],
'O2': ['Oz', 'P4', 'PO10'],
'PO10': ['P8', 'O2']}
mirror_pairs = [
['Fp1', 'Fp2'],
['F7', 'F8'],
['F3', 'F4'],
['Fz', 'Fz'],
['FC5', 'FC6'],
['FC1', 'FC2'],
['T7', 'T8'],
['C3', 'C4'],
['Cz', 'Cz'],
['TP9', 'TP10'],
['CP5', 'CP6'],
['CP1', 'CP2'],
['P7', 'P8'],
['P3', 'P4'],
['Pz', 'Pz'],
['PO9', 'PO10'],
['O1', 'O2'],
['Oz', 'Oz']
]
events = [
'HandStart', 'FirstDigitTouch', 'BothStartLoadPhase', 'LiftOff',
'Replace', 'BothReleased']
In [43]:
data11 = pd.read_csv(subjects_train[0][0]['data'])
events11 = pd.read_csv(subjects_train[0][0]['events'])
In [146]:
data11.T8.plot()
Out[146]:
In [123]:
for left, right in mirror_pairs:
print("{} vs {}". format(left, right))
plt.plot(getattr(data11, left), getattr(data11, right))
plt.show()
In [129]:
for left, right in mirror_pairs:
print("{} vs {}". format(left, right))
print(getattr(data11, left).corr(getattr(data11, right)))
In [130]:
correlations = data11.corr()
In [137]:
correlations
Out[137]:
In [136]:
plt.imshow(correlations)
Out[136]:
In [142]:
from biokit.viz import corrplot
c = corrplot.Corrplot(correlations)
c.plot(lower='circle', upper='text', shrink=.9)