Skip to main content
dravelo.net

Hands-on ML requires coding, not just theory

Back to category

Hands-on machine learning requires coding. Theory matters, but it does not become useful until it meets a real dataset, a model, and a line of code that can run and fail.

That is the part people often skip when they ask about hands on machine learning. They want a clean path. Read the concepts. Learn the math. Maybe watch a few lessons. Then, somehow, the work should feel real. It usually does not. ML turns practical only when someone writes code, loads data, trains a model, checks the result, and then changes the code again.

I think that is the first honest fact to keep in view. Machine learning is not a subject you finish in your head. It is a field where the gap between knowing and doing is wide. A person can understand regression, classification, overfitting, and evaluation in words and still be unable to build even a small model that works on real data.

That is why so many serious learning paths put coding exercises at the center. Google’s Machine Learning Crash Course includes programming exercises, interactive exercises, and quizzes. Its linear regression section includes a coding exercise that builds a model with Keras. Its numerical data lessons also include programming work. That shape is telling. The theory is there, but it is paired with code because the skill itself needs practice.

I also think the phrase “hands-on ML” can be misleading if it sounds like a softer version of technical work. It is not softer. It is more specific. Hands-on work means making choices in code. Which features go in. How the data is split. What model is used. How the result is checked. Those are not side notes. They are the work.

That is why a page of notes can help, but it cannot do the job alone. A learner can read about a decision tree and still not know how to fit one with Python. A learner can know the words “train,” “validation,” and “test” and still leak data by accident. The mistake does not come from bad intent. It comes from the fact that these ideas only fully make sense when they are handled in code and checked against output.

This is also where theory earns its place. Theory is not decoration. It explains why a model behaves badly, why a metric can mislead, or why a simple baseline matters. But theory without practice stays thin. It is easy to agree with the idea of cross-validation. It is harder to use it well when the code, data shape, and error messages are all in the way.

That is the core tradeoff. Code makes ML concrete, but code also exposes limits. A small notebook can hide bad data choices. A polished chart can hide a weak model. A model can look good on a toy example and fail on the next dataset. Hands-on work is useful because it shows those limits early. It keeps the learner honest.

I treat that as the main reason coding belongs at the center. It is not only about “doing” instead of “reading.” It is about seeing where the ideas break. That is often the point where real learning starts. Before that, ML can feel neat and complete. After that, it looks more like a set of tradeoffs that must be tested.

There is one limit worth stating plainly. Not every practical ML path begins with heavy coding. Some people first need a small amount of math, statistics, or data handling before the code makes sense. And some tools now hide more of the setup than they used to. That can make the first step easier. But it does not remove the need to code if the goal is true hands-on skill. At some point, the learner still has to write, run, and fix something.

So the short answer is simple. Hands-on machine learning requires coding because ML is learned by building and checking, not by reading alone. Theory gives the map. Code is the ground under the feet. If the goal is a real next step, the best one is usually a small coding exercise on a real dataset, with the theory used to explain what the code is doing and why it failed where it did.

That is the kind of practical clarity The Dravelo Field Notes tries to hold onto too: one practical technical idea, one learning decision, and one useful network resource each edition.