// pillar 03 · modeling
Where statistics describes data, modeling learns from it. This section introduces the machine learning algorithms that map patterns in data and use them to predict values, in theory and in code.
In the first section, various statistical concepts were explored which helped in the understanding of how inferences can be drawn from the data. In this section, the concept of Machine Learning is introduced to create Data Models which not only allows us to merely explore data and draw simple conclusions but helps us in mapping patterns in the data which in turn helps us in predicting values.
The basic difference between Statistical Models that were used so far and Machine Learning models is that the relationship between the variables in the Statistical Models is based on a mathematical equation, whereas in a Machine Learning Model the algorithm runs these models without relying on any strict rules. In Machine Learning, the concept of Hypothesis Testing, Population, and Sample datasets is missing; rather, the focus is on how close the predictions are, or how the algorithm is able to detect patterns in the data. Certain terminology used so far also sees a change.
Where Statistical model 'estimates', Machine Learning models 'learn', variables or covariates are referred to as 'features'. However, it is important to note that both, Statistics and Machine Learning, work very closely with each other and sometimes overlap one another.
In this section, various machine learning models will be created. In the theory section, multiple machine learning algorithms are explored whereas, in the Application section, these algorithms are put to use for creating models using languages such as Python and R.

The theory section deals with a range of machine learning algorithms that can be used for creating data models. Some of these algorithms work in a Supervised Learning setup while some work in an Unsupervised Learning setup. There are also many algorithms that are used for creating Time Series models which help in forecasting values over a certain period of time.

Understanding the algorithms acts as the stepping stone and helps in comprehending the behaviour of various models; however, eventually it is the understanding of computer languages that enables one to actually create data models. In this section, various models are created in Python and R using a range of machine learning algorithms. Here models are created using popular datasets to solve Regression, Classification, and Clustering problems, along with Time Series Forecasting.