0
$\begingroup$

I'm training a machine learning model from a training set of $1,000$ samples (but around $23,000$ features). I'm fairly content with my cross-validated results, but would like to improve it further by using information I have about the test set I will be using.

To explain that some more: I have an unlabelled test set with $500$ unlabelled samples which I know is the one my model needs to perform on. I was wondering if there are some techniques which allow one to weight features based on some criterion, for example whether they are significant in the test set (or alternatively, find which samples in the train set are "close" to the ones in the test set, and try to fit them with a higher importance than the other, more distant samples). In case there is such a technique, I'd also be interested in a way to do this in sklearn in particular (and preferably as part of a pipeline so that I could use it in cross-validation as well, since it is very important that I be able to gauge the accuracy of my model).

$\endgroup$
1
  • 2
    $\begingroup$ You say that your test set contains unlabelled samples. How can it be a test set if the samples are unlabelled? $\endgroup$ May 5 '20 at 21:53
1
$\begingroup$

You are asking something different than standard machine learning. In standard machine learning, a test set is a dataset with labels that is evaluated a single time. The result of the test set evaluation is never used to change the model.

Another way to frame your question is - "I have high quality unlabeled data that I would combine with my labeled data to create a model."

The answer to that question is semi-supervised learning.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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