DYLAN.
Back
2026-08-163 min read

How to Get Started in ML From Zero

The map I wish I had. What to study, in what order, and which projects to build to go from zero to showing real Machine Learning work.

Most "how to get started in Machine Learning" guides send you to study six months of linear algebra before writing a single line of code. Then you wonder why you quit.

I started not knowing what a DataFrame was. This is the order that actually works: build first, learn the theory when you need it.

The rule that keeps everything in order

You don't study ML to "know ML." You study it to solve a problem with data. Everything you learn has to connect to a project you can show. If you can't show it, you haven't learned it yet.

Phase 1 — Python that's actually useful (2 to 3 weeks)

You don't need to be a Python expert. You need to move around data:

  • pandas — load, filter, group, join tables. 80% of the real work is this.
  • numpy — arrays and vectorized operations. Just the essentials.
  • matplotlib / seaborn — plot to understand the data, not to decorate.

Closing project: grab any CSV (sales, weather, whatever) and answer three questions with charts. No models yet.

Phase 2 — Your first model (3 to 4 weeks)

Here's where scikit-learn comes in, and the flow you'll repeat for the rest of your career:

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report
 
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42, stratify=y
)
 
model = RandomForestClassifier(n_estimators=200, random_state=42)
model.fit(X_train, y_train)
 
print(classification_report(y_test, model.predict(X_test)))

The model isn't the point — everything around it is:

  • train/test split — why you never evaluate on the same data you trained on.
  • Metrics — accuracy lies with imbalanced classes. Learn precision, recall and F1 before anything else.
  • Feature engineering — 90% of the improvement comes from here, not from switching models.

A real case: in a credit-default pipeline (predicting whether someone will repay a loan), the quality jump didn't come from moving from LogisticRegression to a tuned ensemble. It came from handling missing values well and encoding the categorical variables with judgment. The model was the last thing.

Phase 3 — The theory, now that you need it

Now that you've felt the pain of a model that doesn't generalize, the theory makes sense:

  • Overfitting vs underfitting (and why the bias-variance tradeoff explains almost everything).
  • Cross-validation — why a single split lies to you.
  • Regularization, and what RandomizedSearchCV does when you tune hyperparameters.

At this point a structured course pays off a lot. What worked for me was a bootcamp with real end-to-end projects — not for the videos, but because it forced me to ship working pipelines, not half-finished notebooks.

The mistakes that will cost you time

  • Tutorial hell — watching 40 hours of video without writing code. If you didn't type it yourself, you don't know it.
  • Starting with deep learning — neural networks before mastering a RandomForest is running before you can walk. 80% of business problems are solved with classic models.
  • Toy datasets forever — Titanic and Iris are fine for day 1. After that, find a problem you actually care about.

Where to start today, concretely

  1. Install Python + Jupyter (or use Google Colab, zero setup).
  2. Base course: Andrew Ng's Machine Learning for intuition, or jump straight into a project-based bootcamp if you want delivery pressure.
  3. A dataset you care about. Run the full flow: EDA → cleaning → model → metrics.
  4. Push it to GitHub with a README that explains what problem you solved, not which libraries you used.

That last point is what separates someone "studying ML" from someone who can show work. The repo is the résumé.

If you're just starting and something here trips you up, reach out — I was there not long ago.