In [1]:
%matplotlib inline
from matplotlib import pylab as pl
import cPickle as pickle
import pandas as pd
import numpy as np
import os

In [2]:
import sys
sys.path.append('..')

Read precomputed features


In [8]:
from common.data import CachedDataLoader
cached_data_loader = CachedDataLoader('../data-cache')

In [9]:
target = 'Dog_3'

In [10]:
pdata = cached_data_loader.load('data_preictal_%s_gen8_medianwindow-fft-with-time-freq-corr-1-48-r400-usf-w600'%target,None)

In [11]:
ndata = cached_data_loader.load('data_interictal_%s_gen8_medianwindow-fft-with-time-freq-corr-1-48-r400-usf-w600'%target,None)

In [12]:
pdata.X.shape, ndata.X.shape


Out[12]:
((552, 3072), (1440, 3072))

In [13]:
X = np.concatenate((pdata.X, ndata.X))

In [14]:
y = np.zeros(X.shape[0])
y[:pdata.X.shape[0]] = 1

Predict


In [15]:
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=3000, min_samples_split=1, max_depth=10,
                             n_jobs=-1, oob_score=True)

In [16]:
clf.fit(X,y)


Out[16]:
RandomForestClassifier(bootstrap=True, compute_importances=None,
            criterion='gini', max_depth=10, max_features='auto',
            max_leaf_nodes=None, min_density=None, min_samples_leaf=1,
            min_samples_split=1, n_estimators=3000, n_jobs=-1,
            oob_score=True, random_state=None, verbose=0)

In [17]:
clf.oob_score_


Out[17]:
0.95431726907630521

In [18]:
weights = clf.feature_importances_[:]

In [19]:
idxs = np.argsort(weights)[::-1]

In [20]:
pl.plot(weights[idxs])


Out[20]:
[<matplotlib.lines.Line2D at 0x11d26f310>]

136 time corr + 888 fft X different perecentiles


In [21]:
(136+888)*3


Out[21]:
3072

In [22]:
for i,idx in enumerate(idxs[:500]):
    s = weights[idx]
    p = idx // 1024
    idx -= p*1024
    if idx >= 136:
        f = ' '
        idx -= 136
        if idx < 120:
            f = 'COR'
        elif idx < 120 + 16:
            f = 'EIG'
        else:
            idx -= 136
            f = 'F%dC%d'%(idx%47,idx//47)
    else:
        f = 'T'
    print i,'%.5f'%s,[0.1, 0.5, 0.9][p],f,idx


0 0.00806 0.5 F16C3 157
1 0.00777 0.9 F16C3 157
2 0.00617 0.5 F17C3 158
3 0.00561 0.1 F16C3 157
4 0.00512 0.9 F45C9 468
5 0.00501 0.9 F17C3 158
6 0.00501 0.9 F15C11 532
7 0.00474 0.5 F15C3 156
8 0.00464 0.9 T 36
9 0.00453 0.9 F15C3 156
10 0.00433 0.1 T 107
11 0.00414 0.9 F16C2 110
12 0.00414 0.5 T 29
13 0.00400 0.1 T 29
14 0.00389 0.5 F18C3 159
15 0.00382 0.9 F14C11 531
16 0.00370 0.9 F14C12 578
17 0.00370 0.9 F15C14 673
18 0.00365 0.9 F14C3 155
19 0.00363 0.5 F24C5 259
20 0.00363 0.1 F17C3 158
21 0.00357 0.9 F17C2 111
22 0.00353 0.5 F15C14 673
23 0.00335 0.5 F15C2 109
24 0.00333 0.9 F1C14 659
25 0.00332 0.9 F0C14 658
26 0.00327 0.5 F16C2 110
27 0.00316 0.5 F14C3 155
28 0.00313 0.9 F42C6 324
29 0.00309 0.1 T 118
30 0.00306 0.1 T 75
31 0.00306 0.1 F15C3 156
32 0.00291 0.9 F18C2 112
33 0.00286 0.5 F15C11 532
34 0.00285 0.9 F15C2 109
35 0.00278 0.9 F43C9 466
36 0.00272 0.5 F43C6 325
37 0.00270 0.9 F23C5 258
38 0.00267 0.9 F8C6 290
39 0.00261 0.9 F46C9 469
40 0.00260 0.9 F18C3 159
41 0.00260 0.9 F14C14 672
42 0.00259 0.5 F14C1 61
43 0.00257 0.5 F9C6 291
44 0.00256 0.9 F43C6 325
45 0.00255 0.9 F9C6 291
46 0.00254 0.9 F22C5 257
47 0.00253 0.5 F8C6 290
48 0.00246 0.9 F40C6 322
49 0.00244 0.5 F39C6 321
50 0.00240 0.5 F23C5 258
51 0.00237 0.1 F24C5 259
52 0.00235 0.9 T 48
53 0.00234 0.9 F44C9 467
54 0.00227 0.1 F9C6 291
55 0.00227 0.5 F14C9 437
56 0.00215 0.9 F2C14 660
57 0.00214 0.5 F14C12 578
58 0.00213 0.5 F22C5 257
59 0.00211 0.9 F21C5 256
60 0.00201 0.5 F45C9 468
61 0.00200 0.1 F25C5 260
62 0.00200 0.5 F21C5 256
63 0.00197 0.5 T 118
64 0.00196 0.5 F44C13 655
65 0.00195 0.9 F20C5 255
66 0.00195 0.5 F41C6 323
67 0.00190 0.9 F42C9 465
68 0.00190 0.5 F33C6 315
69 0.00189 0.1 F23C5 258
70 0.00189 0.5 F25C5 260
71 0.00187 0.9 F21C2 115
72 0.00184 0.5 F7C6 289
73 0.00184 0.9 F39C6 321
74 0.00182 0.5 F37C6 319
75 0.00181 0.9 F36C6 318
76 0.00179 0.9 F45C6 327
77 0.00177 0.9 F44C6 326
78 0.00177 0.5 F20C5 255
79 0.00177 0.5 T 87
80 0.00176 0.9 F10C6 292
81 0.00176 0.9 F45C13 656
82 0.00176 0.5 F36C6 318
83 0.00170 0.5 F10C6 292
84 0.00170 0.5 F46C13 657
85 0.00169 0.9 F3C14 661
86 0.00164 0.5 F44C6 326
87 0.00163 0.9 F37C6 319
88 0.00163 0.9 F24C5 259
89 0.00161 0.9 F46C13 657
90 0.00160 0.9 F7C6 289
91 0.00160 0.1 F8C6 290
92 0.00159 0.9 F41C13 652
93 0.00158 0.9 F38C6 320
94 0.00158 0.9 F25C5 260
95 0.00157 0.9 F46C6 328
96 0.00156 0.9 F19C2 113
97 0.00152 0.5 F26C5 261
98 0.00150 0.1 F16C2 110
99 0.00149 0.1 F15C11 532
100 0.00148 0.5 F35C6 317
101 0.00147 0.9 F34C6 316
102 0.00147 0.5 F45C13 656
103 0.00147 0.1 F21C5 256
104 0.00146 0.9 F41C6 323
105 0.00145 0.9 T 29
106 0.00143 0.9 F43C13 654
107 0.00143 0.1 F14C1 61
108 0.00141 0.9 F39C13 650
109 0.00140 0.5 F42C6 324
110 0.00140 0.5 T 111
111 0.00140 0.9 F41C9 464
112 0.00140 0.9 F13C12 577
113 0.00140 0.9 F40C13 651
114 0.00139 0.5 F17C2 111
115 0.00139 0.5 F15C12 579
116 0.00139 0.5 F40C13 651
117 0.00138 0.5 F40C4 228
118 0.00135 0.1 F15C14 673
119 0.00135 0.9 F19C5 254
120 0.00134 0.1 T 112
121 0.00134 0.5 F40C6 322
122 0.00134 0.9 F34C13 645
123 0.00134 0.9 F39C4 227
124 0.00132 0.5 F14C11 531
125 0.00131 0.9 F14C2 108
126 0.00131 0.5 F38C6 320
127 0.00130 0.9 F22C2 116
128 0.00129 0.1 F18C3 159
129 0.00129 0.9 F38C4 226
130 0.00129 0.9 F39C9 462
131 0.00129 0.9 F35C6 317
132 0.00128 0.5 F41C9 464
133 0.00126 0.5 F43C9 466
134 0.00125 0.9 F46C4 234
135 0.00125 0.9 T 87
136 0.00123 0.1 F14C3 155
137 0.00123 0.1 F20C5 255
138 0.00122 0.9 F36C4 224
139 0.00121 0.9 T 25
140 0.00120 0.9 F34C9 457
141 0.00120 0.5 F43C13 654
142 0.00120 0.5 F45C4 233
143 0.00119 0.5 T 0
144 0.00118 0.5 F27C5 262
145 0.00115 0.5 T 36
146 0.00115 0.5 F42C9 465
147 0.00111 0.9 F33C13 644
148 0.00111 0.9 F6C6 288
149 0.00111 0.5 F45C6 327
150 0.00110 0.5 F38C13 649
151 0.00109 0.5 T 20
152 0.00108 0.5 F6C6 288
153 0.00108 0.5 F15C7 344
154 0.00108 0.9 F0C6 282
155 0.00108 0.1 F14C12 578
156 0.00108 0.5 F19C5 254
157 0.00108 0.9 F17C5 252
158 0.00108 0.5 F38C4 226
159 0.00107 0.9 F16C5 251
160 0.00107 0.5 F30C4 218
161 0.00107 0.5 F36C13 647
162 0.00107 0.5 F18C5 253
163 0.00107 0.5 F46C9 469
164 0.00107 0.9 F44C13 655
165 0.00107 0.5 T 65
166 0.00106 0.9 T 73
167 0.00106 0.9 F42C13 653
168 0.00106 0.5 F0C2 94
169 0.00105 0.5 F17C5 252
170 0.00104 0.5 F41C12 605
171 0.00104 0.9 F14C5 249
172 0.00102 0.5 T 27
173 0.00102 0.9 F0C11 517
174 0.00102 0.9 F1C7 330
175 0.00101 0.9 F1C15 706
176 0.00101 0.1 F0C2 94
177 0.00101 0.5 T 86
178 0.00101 0.5 F34C6 316
179 0.00100 0.9 F40C12 604
180 0.00100 0.5 F46C4 234
181 0.00099 0.9 F37C13 648
182 0.00099 0.9 F35C9 458
183 0.00099 0.1 F22C5 257
184 0.00098 0.5 T 73
185 0.00098 0.5 F4C13 615
186 0.00097 0.9 T 107
187 0.00096 0.9 F14C7 343
188 0.00095 0.5 T 90
189 0.00095 0.5 F15C5 250
190 0.00095 0.5 F46C6 328
191 0.00095 0.1 F6C6 288
192 0.00094 0.1 F15C2 109
193 0.00094 0.9 F20C2 114
194 0.00094 0.9 F18C5 253
195 0.00092 0.5 F11C6 293
196 0.00092 0.1 F26C5 261
197 0.00091 0.9 T 51
198 0.00091 0.5 F33C4 221
199 0.00091 0.1 F10C6 292
200 0.00091 0.9 F31C6 313
201 0.00091 0.9 F0C7 329
202 0.00090 0.9 F27C5 262
203 0.00090 0.9 F33C12 597
204 0.00090 0.5 F24C14 682
205 0.00088 0.9 F35C12 599
206 0.00088 0.9 F45C4 233
207 0.00088 0.5 F36C12 600
208 0.00087 0.5 F44C9 467
209 0.00087 0.1 F36C14 694
210 0.00086 0.9 T 108
211 0.00086 0.9 F41C12 605
212 0.00086 0.5 F31C6 313
213 0.00086 0.9 F26C5 261
214 0.00086 0.9 F40C4 228
215 0.00085 0.9 T 49
216 0.00085 0.9 F37C4 225
217 0.00085 0.5 T 89
218 0.00084 0.9 T 27
219 0.00084 0.9 F15C7 344
220 0.00084 0.9 F36C13 647
221 0.00083 0.9 F30C13 641
222 0.00083 0.9 F23C0 23
223 0.00081 0.9 F28C14 686
224 0.00081 0.9 F38C12 602
225 0.00081 0.1 F16C5 251
226 0.00081 0.9 F30C14 688
227 0.00080 0.9 F5C13 616
228 0.00079 0.9 T 135
229 0.00079 0.9 F34C12 598
230 0.00078 0.1 T 91
231 0.00078 0.1 F42C6 324
232 0.00078 0.1 T 111
233 0.00078 0.9 F1C11 518
234 0.00077 0.9 F15C12 579
235 0.00077 0.9 F40C9 463
236 0.00077 0.9 F38C9 461
237 0.00077 0.5 F3C13 614
238 0.00077 0.5 F14C14 672
239 0.00076 0.9 F35C4 223
240 0.00076 0.1 F3C13 614
241 0.00076 0.5 F14C7 343
242 0.00076 0.1 F15C12 579
243 0.00076 0.1 F14C7 343
244 0.00076 0.5 F5C13 616
245 0.00076 0.9 F42C12 606
246 0.00075 0.9 F32C4 220
247 0.00075 0.5 F31C14 689
248 0.00075 0.5 F22C2 116
249 0.00075 0.9 F44C4 232
250 0.00074 0.9 F27C6 309
251 0.00074 0.5 T 116
252 0.00074 0.5 F37C13 648
253 0.00074 0.5 F37C4 225
254 0.00074 0.9 F37C9 460
255 0.00074 0.5 F32C6 314
256 0.00073 0.5 F14C2 108
257 0.00073 0.9 F44C12 608
258 0.00073 0.9 T 84
259 0.00073 0.9 F38C13 649
260 0.00073 0.5 T 80
261 0.00072 0.9 T 75
262 0.00072 0.9 F5C8 381
263 0.00071 0.5 F40C12 604
264 0.00071 0.9 F22C14 680
265 0.00071 0.5 T 81
266 0.00071 0.9 F28C5 263
267 0.00071 0.5 F34C9 457
268 0.00071 0.9 T 31
269 0.00071 0.9 F16C11 533
270 0.00071 0.5 F30C12 594
271 0.00070 0.9 F46C15 751
272 0.00070 0.5 F34C4 222
273 0.00070 0.5 F35C12 599
274 0.00070 0.9 F41C4 229
275 0.00070 0.1 T 126
276 0.00070 0.9 F0C2 94
277 0.00070 0.5 F41C13 652
278 0.00069 0.5 F41C4 229
279 0.00069 0.9 F39C12 603
280 0.00069 0.5 T 54
281 0.00069 0.5 COR 29
282 0.00069 0.9 F30C12 594
283 0.00069 0.5 F32C14 690
284 0.00069 0.5 T 13
285 0.00069 0.9 F42C4 230
286 0.00068 0.9 F4C13 615
287 0.00068 0.9 F21C14 679
288 0.00068 0.9 F11C6 293
289 0.00068 0.5 F34C12 598
290 0.00068 0.5 F39C4 227
291 0.00068 0.5 F42C13 653
292 0.00068 0.1 F27C5 262
293 0.00067 0.5 T 107
294 0.00067 0.5 F20C6 302
295 0.00067 0.5 F30C14 688
296 0.00067 0.1 T 103
297 0.00066 0.5 F30C13 641
298 0.00066 0.5 F32C12 596
299 0.00066 0.5 F44C4 232
300 0.00066 0.1 F20C6 302
301 0.00066 0.1 T 129
302 0.00065 0.5 F39C13 650
303 0.00065 0.5 F29C6 311
304 0.00065 0.5 F4C4 192
305 0.00065 0.5 F17C6 299
306 0.00065 0.9 T 32
307 0.00065 0.1 T 49
308 0.00065 0.1 T 99
309 0.00065 0.1 T 74
310 0.00064 0.9 F43C12 607
311 0.00064 0.5 T 16
312 0.00064 0.5 F19C3 160
313 0.00064 0.9 F2C15 707
314 0.00063 0.9 F26C0 26
315 0.00063 0.9 T 11
316 0.00063 0.1 F15C7 344
317 0.00063 0.1 T 64
318 0.00063 0.9 F32C12 596
319 0.00063 0.1 T 19
320 0.00063 0.5 F34C13 645
321 0.00063 0.5 F16C5 251
322 0.00063 0.1 F17C5 252
323 0.00062 0.9 COR 29
324 0.00062 0.5 F42C4 230
325 0.00062 0.9 T 65
326 0.00062 0.9 F22C0 22
327 0.00062 0.1 F5C13 616
328 0.00062 0.5 F3C4 191
329 0.00062 0.5 F8C13 619
330 0.00061 0.5 T 51
331 0.00061 0.9 F35C13 646
332 0.00061 0.9 F31C12 595
333 0.00061 0.5 F13C12 577
334 0.00061 0.9 F25C14 683
335 0.00061 0.9 F19C3 160
336 0.00060 0.9 F1C6 283
337 0.00060 0.5 F6C8 382
338 0.00060 0.1 F11C6 293
339 0.00060 0.1 F39C6 321
340 0.00060 0.5 T 69
341 0.00060 0.5 F33C12 597
342 0.00059 0.9 F29C6 311
343 0.00059 0.1 T 83
344 0.00059 0.9 F4C8 380
345 0.00059 0.1 T 124
346 0.00059 0.5 T 19
347 0.00059 0.9 T 13
348 0.00058 0.9 F43C4 231
349 0.00058 0.5 F21C0 21
350 0.00058 0.9 F16C14 674
351 0.00058 0.5 F29C12 593
352 0.00058 0.9 F0C15 705
353 0.00058 0.9 F40C5 275
354 0.00058 0.5 T 1
355 0.00058 0.5 F42C12 606
356 0.00057 0.1 T 109
357 0.00057 0.9 F24C0 24
358 0.00057 0.9 F10C13 621
359 0.00057 0.9 F3C15 708
360 0.00057 0.1 F15C5 250
361 0.00056 0.9 F6C8 382
362 0.00056 0.1 T 0
363 0.00056 0.1 F34C6 316
364 0.00056 0.1 T 108
365 0.00056 0.1 T 90
366 0.00056 0.5 F24C0 24
367 0.00055 0.9 T 28
368 0.00055 0.5 F31C13 642
369 0.00055 0.9 F28C6 310
370 0.00055 0.9 F13C3 154
371 0.00055 0.9 F24C2 118
372 0.00054 0.5 F23C0 23
373 0.00054 0.5 T 108
374 0.00054 0.5 F18C6 300
375 0.00054 0.1 T 73
376 0.00054 0.9 F0C5 235
377 0.00054 0.9 F2C6 284
378 0.00054 0.9 F32C6 314
379 0.00054 0.9 F32C13 643
380 0.00054 0.5 F31C12 595
381 0.00054 0.1 T 128
382 0.00054 0.9 F44C8 420
383 0.00053 0.5 F28C5 263
384 0.00053 0.5 F36C4 224
385 0.00053 0.9 F32C14 690
386 0.00053 0.5 F27C12 591
387 0.00053 0.1 F7C6 289
388 0.00053 0.1 T 27
389 0.00053 0.9 T 0
390 0.00053 0.9 F30C6 312
391 0.00053 0.9 F31C13 642
392 0.00053 0.5 F28C14 686
393 0.00053 0.5 F29C14 687
394 0.00053 0.1 F6C13 617
395 0.00052 0.9 F29C5 264
396 0.00052 0.9 F6C13 617
397 0.00052 0.9 F33C6 315
398 0.00052 0.9 F1C2 95
399 0.00051 0.9 F16C7 345
400 0.00051 0.5 F20C2 114
401 0.00051 0.5 F22C14 680
402 0.00051 0.5 F32C4 220
403 0.00051 0.5 T 112
404 0.00051 0.1 T 52
405 0.00051 0.5 F25C0 25
406 0.00051 0.5 F37C12 601
407 0.00051 0.5 F26C0 26
408 0.00051 0.9 T 78
409 0.00051 0.9 F9C13 620
410 0.00051 0.5 T 75
411 0.00051 0.5 T 34
412 0.00051 0.1 COR 29
413 0.00051 0.1 F19C6 301
414 0.00051 0.9 F27C2 121
415 0.00051 0.9 F45C12 609
416 0.00051 0.1 T 121
417 0.00050 0.9 F3C13 614
418 0.00050 0.1 T 13
419 0.00050 0.9 F29C4 217
420 0.00050 0.5 F44C12 608
421 0.00050 0.9 F16C12 580
422 0.00050 0.9 F30C4 218
423 0.00050 0.1 F23C0 23
424 0.00050 0.5 T 79
425 0.00050 0.9 F29C14 687
426 0.00050 0.5 F18C2 112
427 0.00050 0.9 F29C12 593
428 0.00050 0.5 F13C7 342
429 0.00050 0.9 F7C13 618
430 0.00050 0.9 F43C15 748
431 0.00050 0.9 F24C14 682
432 0.00050 0.9 T 58
433 0.00049 0.9 F44C15 749
434 0.00049 0.5 F26C14 684
435 0.00049 0.5 F38C9 461
436 0.00049 0.1 F21C14 679
437 0.00049 0.5 F33C13 644
438 0.00049 0.5 T 117
439 0.00049 0.5 F37C9 460
440 0.00049 0.9 T 17
441 0.00049 0.5 F28C6 310
442 0.00049 0.1 F35C12 599
443 0.00049 0.9 F27C14 685
444 0.00048 0.9 F3C6 285
445 0.00048 0.5 F19C6 301
446 0.00048 0.5 F43C4 231
447 0.00048 0.5 F22C6 304
448 0.00048 0.9 F20C6 302
449 0.00048 0.1 F19C5 254
450 0.00048 0.9 F2C7 331
451 0.00048 0.5 F35C4 223
452 0.00048 0.9 F45C15 750
453 0.00048 0.9 F36C12 600
454 0.00048 0.9 F31C14 689
455 0.00048 0.9 F46C12 610
456 0.00048 0.9 F36C14 694
457 0.00048 0.5 F9C13 620
458 0.00048 0.1 F43C6 325
459 0.00048 0.5 T 115
460 0.00047 0.5 F40C9 463
461 0.00047 0.9 F32C9 455
462 0.00047 0.5 T 28
463 0.00047 0.5 F32C13 643
464 0.00047 0.9 F35C14 693
465 0.00046 0.5 F7C13 618
466 0.00046 0.5 T 104
467 0.00046 0.9 F31C0 31
468 0.00046 0.9 F36C9 459
469 0.00046 0.5 T 105
470 0.00046 0.1 T 48
471 0.00046 0.9 F21C6 303
472 0.00046 0.1 F5C6 287
473 0.00046 0.9 F25C0 25
474 0.00046 0.9 F18C6 300
475 0.00046 0.5 F45C12 609
476 0.00045 0.5 T 114
477 0.00045 0.9 F28C3 169
478 0.00045 0.1 F18C5 253
479 0.00045 0.9 F19C0 19
480 0.00045 0.1 T 102
481 0.00045 0.5 T 12
482 0.00045 0.1 F16C11 533
483 0.00045 0.1 T 82
484 0.00045 0.5 F38C12 602
485 0.00045 0.9 F45C2 139
486 0.00045 0.5 F6C13 617
487 0.00045 0.9 T 66
488 0.00044 0.9 F15C5 250
489 0.00044 0.1 T 130
490 0.00044 0.1 T 122
491 0.00044 0.9 T 76
492 0.00044 0.9 T 42
493 0.00044 0.5 F36C9 459
494 0.00044 0.9 F39C5 274
495 0.00044 0.1 F44C6 326
496 0.00044 0.9 F3C8 379
497 0.00044 0.5 F30C6 312
498 0.00044 0.9 T 96
499 0.00043 0.5 F1C14 659