def test_unsupervised_spatial_filter(): """Test unsupervised spatial filter.""" from sklearn.decomposition import PCA from sklearn.kernel_ridge import KernelRidge raw = io.read_raw_fif(raw_fname) events = read_events(event_name) picks = pick_types(raw.info, meg=True, stim=False, ecg=False, eog=False, exclude='bads') picks = picks[1:13:3] epochs = Epochs(raw, events, event_id, tmin, tmax, picks=picks, preload=True, baseline=None, verbose=False) # Test estimator assert_raises(ValueError, UnsupervisedSpatialFilter, KernelRidge(2)) # Test fit X = epochs.get_data() n_components = 4 usf = UnsupervisedSpatialFilter(PCA(n_components)) usf.fit(X) usf1 = UnsupervisedSpatialFilter(PCA(n_components)) # test transform assert_equal(usf.transform(X).ndim, 3) # test fit_transform assert_array_almost_equal(usf.transform(X), usf1.fit_transform(X)) assert_equal(usf.transform(X).shape[1], n_components) assert_array_almost_equal(usf.inverse_transform(usf.transform(X)), X) # Test with average param usf = UnsupervisedSpatialFilter(PCA(4), average=True) usf.fit_transform(X) assert_raises(ValueError, UnsupervisedSpatialFilter, PCA(4), 2)
ax2 = fig2.add_subplot(11, 2, i + 1) ax2.grid() ax2.set_ylabel('ICA{}'.format(i)) ax2.plot(tiempo, data_ICA[150][i]) ax2.set_xlim([0, 2]) ax2.tick_params(axis='both', which='major', labelsize=8) if (i < len(data_ICA[0]) - 2): ax2.set_xticklabels([]) else: ax2.set_xlabel('time[s]') fig2.suptitle('Independent components') #EXCLUDE ARTIFACTS AND PLOT FILTERED AND RAW DATA exclude_channels = [1, 3, 5, 15] data_ICA[:, exclude_channels, :] = 0 reconstructed_data = ICA_transformer.inverse_transform(data_ICA) fig1 = plt.figure(figsize=(10, 20)) plt.subplots_adjust(left=0.07, bottom=0.08, right=0.95, top=0.93, wspace=0.17, hspace=0.3) for i in range(len(reconstructed_data[0])): ax1 = fig1.add_subplot(11, 2, (i + 1)) ax1.grid() ax1.set_ylabel('{}'.format(channel_names[i])) ax1.plot(tiempo, reconstructed_data[0][i], label='filtered data') ax1.plot(tiempo, datos[0][i], label='raw data') ax1.set_xlim([0, 2])