1
$\begingroup$

I'm working on building SVM classifiers on single cell sequencing data. The number of features here depends a lot on the protocol used to sequence data as well as other effects which are hard to control. As a result, I often get datasets with variable number of features.

I'm trying to train my model on a dataset that has 2201 observations and 9853 features and predict on a dataset that has 1753 observations and 17539 features. I tried something like using the first 50 or 100 PC's to train and predict but the main sources of variation do not seem to be captured.

Any suggestions as to how I may be able to do this?

$\endgroup$
1
  • 1
    $\begingroup$ You can only work on features that overlap between the two datasets, and most likely you have enough to proceed and make a sensible model. Using PCs to reduce down the number of features is ok. but you need to have the same variables $\endgroup$
    – StupidWolf
    Commented Apr 19, 2020 at 16:15

1 Answer 1

0
$\begingroup$

As suggested you will need the same feature sets on training and test. Don't worry about dimensionality reduction (IE applying PCA), sample complexity (the number of observations you need) for soft-margin SVMs does not depend on the dimensionality of the problem (which is good in your case).

$\endgroup$
2
  • $\begingroup$ I understand. However, if I wanted to use the same training data but a different test set, is there a way in which I can use my model? Or is the only option to find the intersecting features and retrain my model? $\endgroup$ Commented Apr 20, 2020 at 7:42
  • 1
    $\begingroup$ One way or another you'll have to maintain the same features between the training and test sets. Otherwise it's like teaching something to use eyes and then testing it on what it hears. $\endgroup$
    – Chris
    Commented Apr 21, 2020 at 0:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.