Exemple #1
0
    def save_as_nifti(self, activation, filename):
        # care about the file extension
        if filename.endswith('.nii'):
            filename += '.gz'
        elif filename.endswith('nii.gz'):
            pass
        else:
            filename += '.nii.gz'

        # reverse feature reduction operation
        if type(self.feature_reduction_method) == str:
            activation = masking.unmask(self.feature_reduction_method)
        else:
            activation = self.feature_reduction_method.inverse_transform(
                activation)

        # reverse non-brain regions masking
        activation = masking.unmask(activation, self.mask_non_brain)

        img = nibabel.Nifti1Image(activation, np.eye(4))
        img.to_filename(filename)
Exemple #2
0
    def save_as_nifti(self, activation, filename):
        # care about the file extension
        if filename.endswith('.nii'):
            filename += '.gz'
        elif filename.endswith('nii.gz'):
            pass
        else:
            filename += '.nii.gz'

        # reverse feature reduction operation
        if type(self.feature_reduction_method) == str:
            activation = masking.unmask(self.feature_reduction_method)
        else:
            activation = self.feature_reduction_method.inverse_transform(
                activation
                )

        # reverse non-brain regions masking
        activation = masking.unmask(activation, self.mask_non_brain)

        img = nibabel.Nifti1Image(activation, np.eye(4))
        img.to_filename(filename)
Exemple #3
0
from sklearn.cross_validation import train_test_split

# split original dataset into training and testing datasets
X, X_t, y, y_t = train_test_split(X, y, test_size=0.25, random_state=42)

###############################################################################
#
#   F-score
#
###############################################################################
from sklearn.feature_selection import f_classif
f_values, p_values = f_classif(X, y)
p_values = -np.log10(p_values)
p_values[np.isnan(p_values)] = 0
p_values[p_values > 10] = 10
p_unmasked = masking.unmask(p_values, mask)
plot_haxby(p_unmasked, bg_img, 'F-score', slice=29)

# save statistical map as nifti image
img = nibabel.Nifti1Image(p_unmasked, np.eye(4))
img.to_filename('output_stats_f_classif.nii.gz')

###############################################################################
#                                                                             #
#   SVC                                                                       #
#                                                                             #
###############################################################################
# Define the estimator
from sklearn.svm import SVC
clf = SVC(kernel='linear', C=0.01)
Exemple #4
0
# split original dataset into training and testing datasets
X, X_t, y, y_t = train_test_split(
    X, y, test_size=0.4, random_state=42
    )

###############################################################################
#
#   F-score
#
###############################################################################
from sklearn.feature_selection import f_classif
f_values, p_values = f_classif(X, y)
p_values = -np.log10(p_values)
p_values[np.isnan(p_values)] = 0
p_values[p_values > 10] = 10
p_unmasked = masking.unmask(p_values, mask)
plot_haxby(p_unmasked, mean_img, 'F-score')

# save statistical map as nifti image
img = nibabel.Nifti1Image(p_unmasked, np.eye(4))
img.to_filename('output_stats_f_classif.nii.gz')

###############################################################################
#                                                                             #
#   SVC                                                                       #
#                                                                             #
###############################################################################
# Define the estimator
from sklearn.svm import SVC
clf = SVC(kernel='linear', C=0.01)
Exemple #5
0
# predict samples' classes for TESTING dataset
y_pred_t = pca_svc.predict(X_t)
precision_X_t = precision_score(y_t, y_pred_t)
print('test dataset precision: %.2f' % (precision_X_t))

# ### Visualisation (SVC) #####################################################
import numpy as np

# ### Look at the discriminating weights
coef = clf.coef_
# reverse feature selection
coef = feature_extraction.inverse_transform(coef)

# reverse masking
coef = masking.unmask(coef[0], mask)

# # We use a masked array so that the voxels at '-1' are displayed
# # transparently
act = np.ma.masked_array(coef, coef == 0)


plot_haxby(act, mean_img, 'PCA')

# save statistical map as nifti image
img = nibabel.Nifti1Image(act, np.eye(4))
img.to_filename('output_stats.nii.gz')

# ### Visualisation (PCA) #####################################################

Z = feature_extraction.transform(X)