My question is specifically about kaggle competitions. Why would I need to use the cross-validation method if I can just use all training data and then see the accuracy on kaggle?

The only reason of cross-validation that I see is that by dividing the training data I will be able to see the accuracy of model on training data, but that does not seem to be really handful, as it does not guarantee the same accuracy on real testing data.

  • $\begingroup$ you can use this link to get better understanding regarding it towardsdatascience.com/… $\endgroup$ – shubham Aug 13 '19 at 5:33
  • $\begingroup$ We can do exactly what you describe but in that case we won't be able to fit our models very efficiently as we would be able to have just 5 (or 10 depending on the competition) function evaluation per day. Similarly, we would end up doing the usual Kaggle sin of "overfitting the public leader board" and potential have a bad performance on the private leader board (where the final ranking of submissions is generated from). $\endgroup$ – usεr11852 says Reinstate Monic Aug 13 '19 at 6:15
  • $\begingroup$ @usεr11852, thank you for answering. What if I already know which model suites the best my data(ex. logistic regression), is it better in terms of accuracy for test data to train on whole data again or to use the existing cross-validated model? $\endgroup$ – Doctor Strange Aug 13 '19 at 6:36
  • 1
    $\begingroup$ In the end we (almost) always train using the whole data for our final model. See for example: stats.stackexchange.com/questions/331250 & stats.stackexchange.com/questions/184095 for details. $\endgroup$ – usεr11852 says Reinstate Monic Aug 13 '19 at 10:24
  • $\begingroup$ @usεr11852 thank you! $\endgroup$ – Doctor Strange Aug 14 '19 at 8:03

Your Answer

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

Browse other questions tagged or ask your own question.