Newer
Older
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import os\n",
"import pandas as pd\n",
"from scipy.signal import resample\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from itertools import islice"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#pd.read_csv('../ml-use-case-eeg/train/subj10_series1_data.csv').loc[::100, :]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"train_path = 'data/eeg_use_case/train/'\n",
"test_path = 'data/eeg_use_case/test/'\n",
"all_files = os.listdir(train_path)"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": [
"all_data_files = glob.glob('data/eeg_use_case/train/subj7*data.csv')\n",
"all_event_files = glob.glob('data/eeg_use_case/train/subj7*events.csv')"
"metadata": {},
"outputs": [],
"source": [
"def load_data(file_names):\n",
" # read the csv file and drop the id column\n",
" dfs = []\n",
" for f in file_names:\n",
" df = pd.read_csv(f)\n",
" df = df.drop('id', axis = 1)\n",
" dfs.append(df)\n",
" #all_dfs = pd.concat(dfs)\n",
" all_dfs = dfs\n",
"metadata": {},
"outputs": [],
"source": [
"all_data = np.concatenate(load_data(all_data_files))[:,1:]\n",
"all_events = np.concatenate(load_data(all_event_files))[:,1:]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Feature extraction"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": [
"def sliding_window(seq, n):\n",
"#returns an iterator for a sliding window\n",
" it = iter(seq)\n",
" result = tuple(islice(it, n))\n",
" if len(result) == n:\n",
" yield result\n",
" for elem in it:\n",
" result = result[1:] + (elem,)\n",
" yield result"
]
},
{
"cell_type": "code",
"metadata": {},
"outputs": [],
"source": [
"win_size = 500\n",
"iter_window = sliding_window(all_data, win_size)\n",
"\n",
"all_mean_power = []\n",
"\n",
"for window in iter_window:\n",
" window = np.vstack(window)\n",
" all_mean_power.append(np.mean(window**2, axis = 0))"
]
},
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}