psychopy_ext.fmri.Analysis.svm

Analysis.svm(evds, nIter=100, clf=LinearNuSVMC(svm_impl='NU_SVC', kernel=LinearLSKernel(), weight=, []weight_label=[]))[source]

Runs a support vector machine pairwise.

Process:
  • Normalize data by subtracting the mean across voxels per chunk per condition (target).
  • Split data into a training set (about 75% of all values) and a testing set (about 25% of values), unless there are only two runs, in which case it is 50% training and 50% testing.
  • For each pair of conditions, train the classifier.
  • Then test on the average of the testing set, i.e., only on two samples. This trick usually boosts the performance (credit: Hans P. Op de Beeck)
Args:

evds (event-related mvpa dataset)

Kwargs:
  • nIter (int, default: 100)

    Number of random splits into a training and testing sets.

  • clf (mvpa classfier, default: Linear Nu SVM)

Returns:
A header and a results matrix with four columns:
  • iter: iteration number
  • stim1.cond: first condition
  • stim2.cond: second condition
  • subj_resp: one minus the correlation value