figure - test and train errors as function of model complexity (sourcethe elements of statistical learningtibshirani et al springerfigure - should give you more clarity on the tradeoff that needs to be done to prevent an increase in model errors we will need to make some assumptions about the underlying structure in the data but they must be reasonable at the same timethe model must ensure that it learns from the data at hand and generalizes well instead of overfitting to each and every data point this tradeoff can be controlled by making sure that our model is not very complex model and by ensuring reasonable performance on the unseen validation data we will cover more on cross validation in the next section we recommend you to check out the section on model selection and the book bias-variance tradeoff in the elements of statistical learningtibshirani et al springer cross validation in the initial sections of this when we were learning to fit different modelswe followed the practice of partitioning the data into training set and test set we built the model on the training set and reported its performance on the test set although that way of building models workswhen working on tuning models intensivelywe need to consider some other strategies around validation datasets in this section we will discuss how we can use the same data to build different models and also tune their hyperparameters using simple data partitioning strategy this strategy is one of the most prevalent practices in data science domain irrespective of the type of models and it is called cross validation or just cv this is extremely useful when you also have less data observations and cannot segregate specific partition of data for being validation set (more on this shortly!you can then leverage cross-validation strategy to leverage parts of the training data itself for validation in such way that you don' end up overfitting the model the main intention of any model building activity is to develop generalized model on the available data which will perform well on the unseen data but to estimate model' performance on unseen datawe need to simulate that unseen data using the data that we have available this is achieved by splitting our available data into training and testing sets by following this simple principle we ensure that we don' evaluate the model on the data that it has already seen and been trained on the story would be over here if we were completely satisfied with the model that we developed but the initial models are seldom satisfactory enough for deployment