[Machine Learning is the] field of study that gives computers the ability to learn without being explicitly programmed.
—Arthur Samuel, 1959
General Approach
Step 1: Input Data + Output Data (Training Stage)
- Input data: The information you give to the model (e.g., height, weight, age).
- Output data: The answer you want the model to learn to predict (e.g., salary).
- A model is like a formula or algorithm that tries to find relationships between inputs and outputs.
- Model with hyperparameters:
- Hyperparameters are settings you choose before training (i.e. learning rate, model complexity). This is not to be confused with the model’s internal parameters.
- I will explain more about what these hyperparameters do in the later topics.
Step 2: ML Framework (Training Process)
- The ML framework (i.e. Scikit-learn, TensorFlow, or PyTorch) uses the input-output pairs to adjust the model's internal parameters.
- Training process: this is where the model "gets strong" by learning patterns in data.
- In the context of regression, the internal parameters are the coefficients (also called weights) and the bias/intercept.

Step 3: Trained Model (Prediction Stage)
- Now the model has trained parameters (weights/coefficients) and has learned how to map input → output.
- You can give it new input, and it will predict the output (e.g., predict someone's salary based on unseen data). This input can be the test data.
- This trained model is now ready to generalize to real-world cases.
- Basically, we always follow the flow of train → validation → test → deployment