# [80th place solution😂] Source-separated Psuedo Labeling

First of all, thanks for the host for holding this competition!
And great thanks to our team members,
[@datahobbit](https://www.kaggle.com/datahobbit)
,
[@ratthachat](https://www.kaggle.com/ratthachat)
,
[@yashchoudhary](https://www.kaggle.com/yashchoudhary)
,
[@nitindatta](https://www.kaggle.com/nitindatta)
and it was a pleasure teaming up. Everyone played a great part in the solutions which
[@ratthachat](https://www.kaggle.com/ratthachat)
elaborates! It was fun having discussions and everybody was a great analyst/coder. We did a great job and made it into the TOP-2% ;)
This is our solution of our team Wheat Fields!
(I will come back to update with the details.)
Models
Model: EffdetD5 2 folds ensemble
We evaluated our CV based on data source separated CV with original weightings.
Source separated psuedo labeling
Idea
We were scared that psuedo labeling with the entire test set prior will overfit to the UTokyo data which should be 70% of the test data. With this source-split, we can train model which overfit to UTokyo and other model to the rest, maximizing the PB.
Step.1
Predict on test set using Best CV Model and split the test set to two: TestSetB :UToyko which image has
number of wheats <39
and TestSetC:
number of wheats>=39
. We save the labels for psuedo label as well
Step2:
train two models --> Model-B train with pseudo [TestSetB, traindata] and Model-C train with pseudo [TestSetC,traindata].
Inference:
Predict TestSetB with Model-B and TestSetC with Model-C.
Codes!
I uploaded my training codes here.
[https://github.com/kentaroy47/kaggle-wheat-arutema47](https://github.com/kentaroy47/kaggle-wheat-arutema47)