I tried to set up a unbalanced decoding model and get the following error message:
"Unable to perform assignment because dot indexing is not supported for variables of this type.
cfg.decoding.train.classification_kernel.model_parameters.software = ‘libsvm’;"
Do you have any ideas how to solve this problem? I am using SPM12, might this be the reason?
Thanks a lot in advance.
this sounds as if cfg.decoding.train.classification_kernel.model_parameters already exists. It’s difficult to determine the exact problem without an exact error message and with the line number and the name of the function throwing the error. I’m assuming you are using the
As an alternative, you can also use the output
AUC_minus_chance, which should also account for imbalances in the training data (for accounting for imbalances in the test data, this is a little more difficult).
Thanks a lot for the quick reply. Yes, I used the decoding_template_unbalanced_data script and the Balance ensemble approach (no 4). The error appeared in line 118.
Thanks a lot.
I see, the error appeared in the template. Since this code worked in the past, this might be a version issue, where an error is thrown when a field is assigned a different type it previously had. Can you please check if the code runs if you add this before line 118:
cfg.decoding.train.classification_kernel = rmfield(cfg.decoding.train.classification_kernel,'model_parameters');
I added your suggested line before line 118 and get the following error message:
Unable to perform assignment because dot indexing is not supported for variables of this type.
Error in MVPA_Model3 (line 121)
Could you just add the same line, but this time replace train with test?
I will update the template to make it compatible with current Matlab versions.