feature engineering
Feature engineering is the process of transforming raw data into the input variables, called features, that a machine learning model learns from during training. That transformation runs as a pipeline:
The work combines domain knowledge with iteration over a handful of recurring operations:
- Creating features by combining, decomposing, or aggregating existing fields, such as splitting a timestamp into hour and weekday
- Encoding categorical values and text as numbers that a model can consume
- Scaling numeric ranges so that no single feature dominates the updates made by gradient descent
- Selecting a subset of features, or reducing dimensionality with methods like principal component analysis (PCA), to cut noise and redundancy
Deep neural networks absorb much of this work, learning their own representations such as embeddings from raw text, images, or audio, so hand-built features matter most on tabular and time-series problems.
Recurring pitfalls include data leakage, where a feature encodes information that wouldn’t be available at prediction time, and applying different transformations during training and inference.
Related Resources
Course
Data Cleaning With pandas and NumPy
In this video course, you'll learn how to clean up messy data using pandas and NumPy. You'll become equipped to deal with a range of problems, such as missing values, inconsistent formatting, malformed records, and nonsensical outliers.
For additional information on related topics, take a look at the following resources:
- Python AI: How to Build a Neural Network & Make Predictions (Tutorial)
- Pythonic Data Cleaning With pandas and NumPy (Tutorial)
- Split Your Dataset With scikit-learn's train_test_split() (Tutorial)
- Using pandas and Python to Explore Your Dataset (Tutorial)
- Linear Regression in Python (Tutorial)
- NumPy, SciPy, and pandas: Correlation With Python (Tutorial)
- Logistic Regression in Python (Tutorial)
- Building a Neural Network & Making Predictions With Python AI (Course)
- Python AI: How to Build a Neural Network & Make Predictions (Quiz)
- Splitting Datasets With scikit-learn and train_test_split() (Course)
- Split Your Dataset With scikit-learn's train_test_split() (Quiz)
- Explore Your Dataset With pandas (Course)
- Using pandas and Python to Explore Your Dataset (Quiz)
- Starting With Linear Regression in Python (Course)
- Linear Regression in Python (Quiz)
Have a question about this? Mentor AI can show you examples, compare related terms, and point you to tutorials.
By Martin Breuss • Updated Oct. 27, 2026