Data and Features — Where Machine Learning Is Really Won

The glamorous part of machine learning is the model; the decisive part is the data and the features. A mediocre model on great features beats a great model on poor ones, almost every time — which is why experienced practitioners spend most of their effort here and almost none picking algorithms. This post is about the unglamorous, high-leverage work of turning raw data into the features a model can actually learn from.

Post 1 said ML learns a mapping from features to outputs. This post is about the left side of that mapping — because the features you feed a model determine the ceiling on what it can learn. The guiding truth of applied ML: garbage in, garbage out is not a cliché here, it’s the dominant factor, and feature work is where real-world ML projects succeed or fail.

Data: quantity, quality, and representativeness

A model learns only what’s in its data, so three properties of the data govern what’s possible:

The practical discipline is to interrogate the data before modeling: where did it come from, what does it cover, what’s missing, how is it labeled, and does it match where the model will run. Most model failures trace back to a data problem the team didn’t look for.

Features: the model’s vocabulary

A feature is an input variable the model uses to make a prediction. Feature engineering is the craft of creating, transforming, and selecting features so the signal in the data is in a form the model can exploit. It matters because models don’t see the world — they see features, so the features define what the model can possibly know:

Feature engineering is where domain expertise enters ML: knowing which derived quantities matter for fraud, or churn, or pricing is a human insight the model can’t discover from scratch (at least in classical ML). This is why the same algorithm, in the hands of someone who understands the domain, produces a far better model.

The deep-learning caveat — and why features still matter

There’s an important twist: deep learning (and modern LLMs) learn their own features. A neural network on raw pixels or raw text discovers useful internal representations through its layers, reducing the need for manual feature engineering — this representation learning is a big reason deep learning displaced hand-crafted features for perception and language. It’s tempting to conclude feature engineering is obsolete.

It isn’t, for two reasons. First, for the vast amount of real-world ML on tabular data (the spreadsheets that run businesses — fraud, credit, churn, demand), classical models with good feature engineering remain the practical state of the art, and gradient-boosted trees on well-engineered features routinely beat neural nets. Second, even in the deep-learning world, data quality and representativeness matter as much as ever — and curation, labeling, and the shaping of training data are feature engineering’s spiritual successor (the entire “data-centric AI” movement is this point). The lesson generalizes: the model learns from what you give it, so what you give it — raw data quality and the features derived from it — is the highest-leverage place to spend effort, whatever the model.

The throughline: ML is won on the input side. The data must be sufficient, clean, and representative (representativeness is both an accuracy and a fairness issue — unrepresentative data is the root of bias), and most real projects spend their largest effort on data cleaning. Features are the model’s vocabulary — it sees features, not the world — so feature engineering (representation, derivation of domain-informed quantities, scaling, selection) sets the ceiling on what the model can learn, and is where domain expertise enters. Deep learning learns features (representation learning), which is why it won perception and language and why classical feature engineering is less central there — but data quality and curation still dominate, and for tabular business data, good features plus a simple model still win. Spend your effort on the inputs.

Key takeaways

Further reading

Sources & References