Machine Learning · Terminology
Machine Learning Terminology Every Beginner Should Learn
Quick summary — machine learning terminology for beginners
Machine learning terminology falls into four groups: data terms such as features, labels and splits; training terms such as model, loss and overfitting; evaluation terms such as precision, recall and cross-validation; and deployment terms such as inference and drift. Learn each group with a small working example.
In this guide you will learn:
- Data terms — features, labels, splits and leakage.
- Training terms — loss, epochs, overfitting and hyperparameters.
- Evaluation terms — metrics and cross-validation.
- Deployment terms — inference, drift and monitoring.
- Interview questions — that test ML vocabulary.
SECTION 01Data terms: features, labels and splits
Every ML project starts with data. These are the first terms you will meet, and confusing them causes many beginner mistakes: Spend extra time on these data terms, because almost every later concept depends on them. If you are unsure which column is the label, or whether a feature would really be known at prediction time, the rest of the project can go wrong quietly.
| Term | Plain English meaning | Example | Common confusion |
|---|---|---|---|
| Feature | An input column the model uses | Age, city, monthly spend | Including the answer as a feature |
| Label (target) | The answer the model should predict | Churned: yes or no | Mixing label and feature |
| Train/test split | Keeping some data aside to check the model | 80% train, 20% test | Testing on training data |
| Data leakage | Information from the answer sneaking into features | Using 'cancellation date' to predict churn | Very high but fake scores |
import pandas as pd
from sklearn.model_selection import train_test_split
df = pd.DataFrame({
"age": [22, 35, 41, 28, 50, 33, 26, 45],
"monthly_spend": [300, 1200, 800, 450, 2000, 700, 350, 1500],
"churned": [1, 0, 0, 1, 0, 0, 1, 0],
})
X = df[["age", "monthly_spend"]] # features
y = df["churned"] # label
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=42, stratify=y)
print(X_train.shape, X_test.shape)
# A leaky feature is one that would not be known
# at prediction time.
columns = {
"age": "known at signup",
"monthly_spend": "known before prediction",
"cancellation_date": "only known AFTER churn",
}
for col, when in columns.items():
flag = "LEAK - remove" if "AFTER" in when else "ok"
print(f"{col:18} {when:25} {flag}")
SECTION 02Training terms: model, loss and overfitting
Training is where the model learns patterns. These terms describe what happens and what can go wrong: You do not need to understand every formula behind these terms at the start. Focus on what each term means for your results, run the small examples below, and come back to the maths once the ideas feel familiar.
| Term | Plain English meaning | Example | Why it matters |
|---|---|---|---|
| Model | A function that maps features to predictions | Logistic regression, random forest | Different models suit different data |
| Loss function | A number measuring how wrong predictions are | Mean squared error, log loss | Training tries to reduce it |
| Overfitting | Learning noise in training data instead of patterns | Great training score, poor test score | Model fails on new data |
| Hyperparameter | A setting chosen before training | Tree depth, learning rate | Tuned using validation data |
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
X, y = make_classification(n_samples=600, n_features=10,
flip_y=0.1, random_state=0)
X_tr, X_te, y_tr, y_te = train_test_split(X, y, random_state=0)
for depth in [2, 5, None]: # None = grow until pure (overfits)
m = DecisionTreeClassifier(max_depth=depth, random_state=0)
m.fit(X_tr, y_tr)
print(f"depth={depth}: train={m.score(X_tr, y_tr):.2f} "
f"test={m.score(X_te, y_te):.2f}")
import numpy as np
# One feature, simple linear model y = w*x, learned by gradient descent
x = np.array([1, 2, 3, 4], dtype=float)
y = np.array([2, 4, 6, 8], dtype=float)
w, lr = 0.0, 0.01
for epoch in range(1, 6): # an epoch = one pass over data
pred = w * x
loss = ((pred - y) ** 2).mean() # mean squared error
grad = (2 * (pred - y) * x).mean()
w -= lr * grad
print(f"epoch {epoch}: loss={loss:.3f} w={w:.3f}")
SECTION 03Evaluation and deployment terms
After training, you need to measure the model honestly and then use it in the real world. These terms appear in almost every interview: Evaluation terms explain whether a model is good enough, and deployment terms explain what happens once it is used. Interviewers often connect the two, for example by asking how you would notice that a deployed model has started performing worse.
| Term | Plain English meaning | Example | Stage |
|---|---|---|---|
| Precision / recall | How many flagged items were right / how many real items were caught | Fraud detection trade-off | Evaluation |
| Cross-validation | Testing on several different splits for a stable estimate | 5-fold cross-validation | Evaluation |
| Inference | Using a trained model to make predictions | API returns a churn score | Deployment |
| Drift | Live data changing from training data | New customer behaviour after a price change | Deployment |
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.metrics import confusion_matrix
X, y = make_classification(n_samples=500, random_state=1)
model = LogisticRegression(max_iter=1000)
scores = cross_val_score(model, X, y, cv=5)
print("5-fold accuracy:", scores.round(2), "mean", scores.mean().round(2))
model.fit(X[:400], y[:400])
print(confusion_matrix(y[400:], model.predict(X[400:])))
# pip install fastapi uvicorn scikit-learn joblib
# Run: uvicorn serve:app --reload
import joblib
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
model = joblib.load("model.joblib") # saved earlier with joblib.dump
class Customer(BaseModel):
age: float
monthly_spend: float
@app.post("/predict")
def predict(c: Customer):
prob = model.predict_proba([[c.age, c.monthly_spend]])[0][1]
return {"churn_probability": round(float(prob), 3)}
SECTION 04Beginner ML glossary templates
Keep your own glossary as you learn. These templates help you record terms in a way that sticks:
Term: Overfitting
Plain meaning: Model memorises training data, fails on new data
Example: Train accuracy 0.99, test accuracy 0.70
How to spot: Big train-test gap
How to fix: Simpler model, more data, regularisation
Related: Underfitting, validation set
Data: feature, label, dataset, split, leakage
Training: model, loss, epoch, hyperparameter, overfitting
Evaluation: accuracy, precision, recall, F1, cross-validation
Deployment: inference, API, latency, drift, monitoring
Explain each in one sentence, without notes:
1. Difference between a feature and a label
2. Why we keep a test set aside
3. What overfitting looks like in numbers
4. When recall matters more than precision
5. What drift is and why it needs monitoring
SECTION 05Tips for learning ML terminology
Vocabulary sticks when it is attached to practice. These habits help:
- Learn terms with code — run a tiny example for every new term.
- Use plain English — if you cannot explain a term simply, revisit it.
- Group terms by stage — data, training, evaluation and deployment.
- Compare pairs — precision vs recall, overfitting vs underfitting.
- Revise weekly — test yourself on your glossary every week.
SECTION 06Interview Q&A — ML terms
Q1What is the difference between a feature and a label?
A feature is an input the model uses, such as age or spend. A label is the answer the model predicts, such as whether a customer churned.
Q2What is overfitting and how do you detect it?
Overfitting is when a model learns noise in training data. It shows up as a high training score and a much lower test or validation score.
Q3What is data leakage?
When information that would not be available at prediction time ends up in the features, giving unrealistically good scores.
Q4What is the difference between precision and recall?
Precision is the share of positive predictions that were correct. Recall is the share of actual positives the model found.
Q5What is model drift?
A change in live data or relationships compared with training data, which can reduce model performance over time.
SECTION 07Test yourself — ML terms quiz
Five questions. No sign-up.
0 / 5Pick an answer to see why it is right or wrong.
SECTION 08Frequently asked questions
Which machine learning terms should a beginner learn first?
Feature, label, train/test split, model, loss, overfitting, accuracy, precision, recall and inference. These cover most beginner tutorials. A short personal glossary, revised weekly, is one of the simplest ways to make these terms stick.
Do I need to memorise ML definitions for interviews?
Understanding matters more than memorising. Be ready to explain terms simply and give an example from your own project.
What is the difference between AI, ML and deep learning?
AI is the broad field of making machines act intelligently. ML is a subset that learns from data. Deep learning is a subset of ML using neural networks with many layers. Practising with your own small examples will help you explain them confidently.
Is machine learning terminology the same across tools?
Mostly yes. Libraries may name parameters differently, but concepts like features, loss and overfitting are the same.
How long does it take to learn basic ML terminology?
With daily practice, the core terms can become comfortable in a few weeks, especially when you learn each with a small code example.
SECTION 09Related reads
Classroom & online · Noida
Learn ML terms by building
Our Machine Learning Training Course teaches machine learning concepts through hands-on code, projects and mentor reviews.
Talk to a counsellor for current fees- Concept + code learning
- Hands-on projects
- Evaluation and deployment
- Weekday & weekend batches