As a beginner in data science with Python, I am confused about the difference between training data sets and test data sets. Some projects merge the two, while others keep them separate. What is the rationale behind having two data sets? Any advice would be appreciated and resources containing questions related to data science.