I'm training a classifier on some fraud data. Only a chunk of data is labeled (~2000) so I'm trying a self-training approach, what I'm doing for now is:

Iteratively training a model then labeling the unlabeled samples and feeding the samples where the model is more sure about the label to a training set for a new model

It worked for me, it improved my model's performance on a holdout set.

My questions:

Is there a better way, or other things to try?

I only found litterature using this approach in a deep learning context and I've been wondering if there is work on this for tabular data.

I also was wondering if there is a way to inject noise in the data or the model (I'm using Catboost) like it's usually done in deep learning (image augmentation, dropout ...), in deep learning this helps the new model be different that the old model and enforce invariances in the decision function.

  • 1
    $\begingroup$ The most pragmatic solution would be to manually label as much data as possible. $\endgroup$
    – Tim
    May 17 at 9:25
  • $\begingroup$ There’s a large literature base about how to train supervised models where only some of the data are labeled. $\endgroup$
    – Sycorax
    May 17 at 10:59
  • $\begingroup$ Thanks for the replies, I hand labeled ~2000 which took me some time because of the complexity of the problem (the labels are subjective, we're never 100% sure). $\endgroup$ May 23 at 10:49
  • $\begingroup$ For litterature, all I could find is empirical evidence that it works and some kaggle competitions where it worked but I was wondering if there is litterature explaining the maths behind it $\endgroup$ May 23 at 10:56


Your Answer

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