predict.m output for validation cohort and other questions

13 views
Skip to first unread message

Brianne Mohl

unread,
Nov 8, 2016, 5:52:05 PM11/8/16
to WagerlabTools
Hi all,

Wani has been a great help, but I thought others might have related questions in the future.

1) As I understand, svm.stats.other_output{1} is to be the basis for testing a classifier on a new cohort. Can you please tell me which method I'm supposed to use with this array as input to test a validation cohort?

2) I can't figure out if the SVM algorithm has a regularization method associated with it. I'd like to use LASSO penalization, but I'm not sure if that is possible... thoughts?

3) I'd like to ensemble predictors. Given map1 (dti), map2 (gm volume), and map3 (fc-fmri) from separate SVC runs. Can I combine the prediction weights with a logistic regression in predict.m?

Would it be something like:
imgs = [map1_svm.stats.weight_obj;
map2_svm.stats.weight_obj;
map3_svm.stats.weight_obj;]
dat_combined = fmri_data(imgs,mask)
dat_svm_combined = dat_combined
.
.
.
[~,combined_svm.stats] = predict(dat_svm_combined, 'algorithm_name', 'logistic')

or maybe:

[~,combined_svm.stats] = predict(dat_svm_combined, 'algorithm_name', 'cv_lassopcr', 'lasso_num', 1]


Thanks for your help!
Brianne

Brianne Mohl, PhD
Postdoctoral Fellow
School of Medicine | Radiology
University of Colorado - Denver | Anschutz Medical Campus
briann...@ucdenver.edu

Wani (Choong-Wan) Woo

unread,
Nov 8, 2016, 6:10:06 PM11/8/16
to Brianne Mohl, WagerlabTools
Hi Brianne, 

On Tue, Nov 8, 2016 at 3:52 PM, Brianne Mohl <mohl....@gmail.com> wrote:
Hi all,

    Wani has been a great help, but I thought others might have related questions in the future.

You have been a great learner. 
 
1) As I understand, svm.stats.other_output{1} is to be the basis for testing a classifier on a new cohort. Can you please tell me which method I'm supposed to use with this array as input to test a validation cohort?


There is a function called, 'apply_mask.m'. See the help of the function. 

 
2) I can't figure out if the SVM algorithm has a regularization method associated with it. I'd like to use LASSO penalization, but I'm not sure if that is possible... thoughts?


I don't think the current predict function doesn't have that functionality. It's because the function is currently using the spider toolbox for SVM, and the spider toolbox doesn't have that implementation. If you find the right toolbox, you might be able to use the lasso penalization with some coding. 
 
3) I'd like to ensemble predictors. Given map1 (dti), map2 (gm volume), and map3 (fc-fmri) from separate SVC runs. Can I combine the prediction weights with a logistic regression in predict.m?


Not in predict function. But you can build a logistic regression model (e.g., glmfit with an optional input, 'logit') using the predicted outcome values (i.e., pattern expression values) based on the three pattern maps. You can also implement leave-one-out cross validation for this analysis. 

Hope this helps. 

Wani

 
Would it be something like:
imgs = [map1_svm.stats.weight_obj;
        map2_svm.stats.weight_obj;
        map3_svm.stats.weight_obj;]
dat_combined = fmri_data(imgs,mask)
dat_svm_combined = dat_combined
.
.
.
[~,combined_svm.stats] = predict(dat_svm_combined, 'algorithm_name', 'logistic')

or maybe:

[~,combined_svm.stats] = predict(dat_svm_combined, 'algorithm_name', 'cv_lassopcr', 'lasso_num', 1]


     Thanks for your help!
     Brianne

Brianne Mohl, PhD
Postdoctoral Fellow
School of Medicine | Radiology
University of Colorado - Denver | Anschutz Medical Campus
briann...@ucdenver.edu

--
You received this message because you are subscribed to the Google Groups "WagerlabTools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to wagerlabtools+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Choong-Wan (Wani) Woo, PhD
Web | Code | Google Scholar | Lab
Postdoctoral fellow/Research associate
Cognitive and Affective Neuroscience Lab
University of Colorado Boulder

mohl....@gmail.com

unread,
Nov 8, 2016, 6:41:52 PM11/8/16
to WagerlabTools, mohl....@gmail.com
Hi Wani,

Yes, this helps a lot! Thanks!

Could you clarify whether the svm.stats.other_outcome{1} is the same as "the predicted outcome values (i.e., pattern expression values)"?

Thank you,
Brianne
> To unsubscribe from this group and stop receiving emails from it, send an email to wagerlabtool...@googlegroups.com.

Wani (Choong-Wan) Woo

unread,
Nov 8, 2016, 8:06:47 PM11/8/16
to Brianne Mohl, WagerlabTools
Hi Brianne, 

"svm.stats.other_outcome{1}" is the predictive weights. Predicted outcome is the values you can get from "apply_mask" with the the "pattern_expression" flag. It basically calculates dot-products between the predictive weights and the given image data. In the papers from our lab, we usually call it "pattern expression" or "signature response" or "predicted outcome", etc. 

Thanks,
Wani


To unsubscribe from this group and stop receiving emails from it, send an email to wagerlabtools+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages