if (epoch_type == 'Probe') & ('target' in analysis): sel = np.where((events['Change'] == 1) & (~np.isnan(y)))[0] else: sel = np.where(~np.isnan(y))[0] td = SlidingEstimator(clf, scoring=make_scorer(scorer), n_jobs=24, **kwargs) # run decoding cv = StratifiedKFold(8) scores = list() patterns = list() filters = list() for train, test in cv.split(X[sel], y[sel]): td.fit(X[sel][train], y[sel][train]) score = td.score(X[sel][test], y[sel][test]) scores.append(score) patterns.append(get_coef(td, 'patterns_', inverse_transform=True)) filters.append(get_coef(td, 'filters_', inverse_transform=True)) scores = np.mean(scores, axis=0) patterns = np.mean(patterns, axis=0) filters = np.mean(filters, axis=0) if 'angle' in analysis: patterns = np.mean(np.abs(patterns), axis=1) filters = np.mean(np.abs(filters), axis=1) scores = np.reshape(scores, (n_freqs, n_times)) patterns = np.reshape(patterns, (n_channels, n_freqs, n_times)) filters = np.reshape(filters, (n_channels, n_freqs, n_times)) # save cross-validated scores fname = results_folder +\ '%s_tf_scores_%s_%s.npy' % (subject, epoch_type, analysis)
sel = np.where(y != 0)[0] le = LabelEncoder() le.fit(y_con) y_con = le.transform(y_con) sel_con = np.where(y_con != 0)[0] # Define estimators depending on the analysis clf = make_pipeline(StandardScaler(), LinearModel(LogisticRegression())) kwargs = dict() est = SlidingEstimator(clf, scoring='roc_auc', n_jobs=24, **kwargs) # Run decoding cv = StratifiedKFold(12) scores = list() scores_con = list() for train, test in cv.split(X[sel], y[sel]): est.fit(X[sel][train], y[sel][train]) # train during WM task score = est.score(X[sel][test], y[sel][test]) # test during WM task score_con = est.score(X_con[sel_con], y_con[sel_con]) # test during control task scores.append(score) scores_con.append(score_con) scores = np.mean(scores, axis=0) scores = np.reshape(scores, (n_freqs, n_times)) scores_con = np.mean(scores_con, axis=0) scores_con = np.reshape(scores_con, (n_freqs, n_times)) # save cross-validated scores fname = results_folder +\ '%s_scores_tf_%s.npy' % (subject, analysis) np.save(fname, np.array(scores)) fname = results_folder +\ '%s_scores_tf_%s_con.npy' % (subject, analysis) np.save(fname, np.array(scores_con))