Machine Learning Workflow: From Data and Features to Predictions
Machine Learning Workflow: From Data and Features to Predictions
Search
Ask the AI

Machine Learning Workflow: From Data and Features to Predictions

Machine learning is not just sending data into an algorithm. A reproducible machine learning project usually follows a stable workflow: define the problem, inspect the data, build features, train a model, evaluate the result, and then use the model for prediction.

This article does not try to cover every algorithm. Instead, it explains the workflow from an engineering perspective. Once this structure is clear, linear regression, logistic regression, decision trees, and neural networks become much easier to place.

While reading, focus on three questions: what data enters the system, what transformations happen in the middle, and which metrics tell you whether the output is reliable.

1. Define the Problem

Before writing model code, answer this question:

Given which inputs, what output should the model predict?

Common problem types include:

  • Classification: predict a category, such as spam or not spam
  • Regression: predict a continuous value, such as price, demand, or temperature
  • Clustering: group data without labels, such as user segmentation
  • Ranking: order candidate results, such as search or recommendation output

If the problem is vague, you may train a model but still have no reliable way to judge whether it is useful.

2. Understand Each Column

For beginners, the most common data shape is a table:

sample  feature1  feature2  feature3  label
1       ...       ...       ...       A
2       ...       ...       ...       B
3       ...       ...       ...       A

The key concepts are:

  • Sample: usually one row of data
  • Feature: an input field used for prediction
  • Label: the known answer in supervised learning

Before writing code, understand what each column means, what unit it uses, what range it should have, and whether obvious bad values exist. Many machine learning failures come from misunderstood data rather than weak algorithms.

3. Split Training and Test Data

A model should not be judged only on data it used for training. To check whether it learned a general pattern, split the data:

  • Training set: used to fit model parameters
  • Test set: used to estimate behavior on new data

A common scikit-learn pattern is:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X,
    y,
    test_size=0.2,
    random_state=42
)

random_state fixes the split, which makes experiments easier to reproduce.

4. Process Features

Models usually work with numbers, so raw data often needs conversion. Common feature processing steps include:

  • Encoding text categories as numbers
  • Handling missing values
  • Standardizing numeric features
  • Removing fields that are meaningless or leak the answer

Standardization is common for methods that are sensitive to numeric scale, such as logistic regression, K-means, and neural networks:

x_scaled = (x - mean) / std

It does not change the basic relationship between samples, but it puts different numeric features on more comparable scales.

5. Choose a Baseline Model

Do not start with the most complex model. First build a baseline:

  • For classification, try logistic regression or a decision tree
  • For regression, try linear regression
  • For clustering, try K-means

The baseline does not have to be the best model. It gives you a reference point. Later model changes, feature changes, and parameter changes should be compared against it.

6. Train the Model

In scikit-learn, training is usually expressed with a consistent method call:

model.fit(X_train, y_train)

Behind this call, the model adjusts internal parameters so predictions become closer to labels in the training data.

Different algorithms have different parameter meanings, but the goal is the same: find parameters that reduce mistakes on training data without merely memorizing it.

7. Predict and Evaluate

After training, predict on the test set:

y_pred = model.predict(X_test)

Then measure performance. Common classification metrics include:

  • Accuracy: the overall proportion of correct predictions
  • Precision: among predicted positives, how many are truly positive
  • Recall: among true positives, how many the model found
  • F1-score: a combined measure of precision and recall

Do not rely on one number. Accuracy can be misleading when classes are imbalanced.

8. The Whole Workflow

Combined, a minimal workflow looks like this:

# 1. Prepare X and y
# 2. Split training and test data
# 3. Process features
# 4. Train a model
# 5. Predict on the test set
# 6. Compute evaluation metrics

Real projects may add logging, cross-validation, model persistence, deployment, and monitoring. But even complex systems still depend on this core sequence.

9. A Good Practice Checklist

When practicing machine learning, write down answers to these questions:

  • What are the input features and target label?
  • How were training and test data split?
  • Which feature processing steps were used?
  • What baseline model was chosen?
  • Which metric was used, and why?
  • What do the model’s mistakes have in common?

If you can answer these questions, you are no longer just copying code. You are starting to analyze problems in the machine learning workflow.

10. Workflow Evidence Table

A workflow becomes trustworthy when each step produces evidence that can be inspected later. The table below turns the abstract workflow into a review checklist for small projects.

Workflow step Evidence to keep Why it matters Common failure
Problem definition Input fields, target label, task type, and business metric Prevents training a model for an undefined success condition The model has a score, but nobody can explain what decision it supports
Data inspection Missing values, class balance, units, duplicates, and suspicious ranges Most model failures begin as data interpretation failures Columns are trusted by name without validating their meaning
Split and features Train/test split rule, preprocessing pipeline, and leakage checks Separates real generalization from accidental access to test information Scaling, imputation, or feature selection is fitted on the full dataset
Evaluation Baseline score, final score, confusion matrix, and error examples Shows whether the model improved for the right reasons Only a single accuracy value is saved

11. Common Mistakes

When building a first machine learning project, beginners often run into these problems:

  • Processing the full dataset before splitting train and test data, which leaks test information into training
  • Skipping a baseline model and jumping directly to complex algorithms
  • Printing only accuracy without checking class balance or wrong predictions
  • Trusting column names without confirming what each field actually means

If you actively avoid these issues, even a small project becomes much easier to trust.

Data leakage: the error class that voids every metric

The “split before you process” ordering above is not arbitrary. Violating it causes data leakage — information from the test set seeping into training, so evaluation scores look excellent while production performance bears no resemblance to them.

Leakage is dangerous because it raises no error and only improves your score. A better score is exactly what you were hoping for, so almost nobody thinks to question it. Three forms are most common.

First: scaling or imputing before the split.

# wrong: mean and variance computed over all data, so test-set
# distribution information has entered the training set
X = scaler.fit_transform(X)
X_train, X_test = train_test_split(X, ...)

# right: fit on training data only, transform the test set
X_train, X_test = train_test_split(X, ...)
X_train = scaler.fit_transform(X_train)
X_test  = scaler.transform(X_test)        # transform, not fit_transform

Median imputation, frequency encoding of categories, feature selection — the rule applies to every operation that looks at data statistics. The safe approach is to put all of them inside a Pipeline, so cross-validation refits them correctly within each fold automatically.

Second: random splits on time-series data. If the data carries a time dimension (user behaviour, sales, sensor readings), a random split puts “future” samples in the training set while the prediction task is to forecast the future from the past. The model can cheat using future information, producing a beautiful test score and immediate collapse in production. Time series must be split chronologically: everything before a cut-off trains, everything after tests.

Third: features that proxy the target. This is the most insidious. Predicting customer churn with a feature column for “account closure date” — populated only for churned customers — lets the model read the answer directly. Predicting a diagnosis with “medication history” as a feature, when medication follows diagnosis, does the same.

The detection heuristic is practical: if one feature’s importance is anomalously high, or accuracy is implausibly good, suspect leakage before celebrating. Then ask of each feature: did this value exist at the moment the prediction actually has to be made?

That check belongs in the workflow itself. Every time a result comes out unexpectedly good, spend ten minutes hunting for leakage. Finding leakage costs one redo; missing it costs finding out the model is useless after deployment.

12. What to Read Next

The previous article is the AI Basics Learning Roadmap. After the full workflow is clear, continue with Model Training and Evaluation to understand loss functions, overfitting, and metrics.

Leave a Reply

Scroll down