High Cross Validation Score on Training Set, High Score on Test Set, But Low Score on Kaggle?
This &quot;train split&quot; you named train_set and test_set are not guarantee to be clean or even balanced.
When your test set has better performance than your training set that might mean that you have data leakage (some examples in the test set are equal to the training set) or just mean your test set is slightly easier than the training set.