Your First End-to-End Project: Classify Iris Flowers

Site Admin · 11 Sep 2026 · 8 views

Your First End-to-End Project: Classify Iris Flowers

Time to assemble everything: load data, clean lightly, split, train, and evaluate in one runnable script. The iris dataset has 150 flower measurements across three species, and it is the classic first end-to-end practice problem.

Load and Inspect

import pandas as pd
from sklearn.datasets import load_iris

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df["species"] = iris.target
print(df.head())
print(df.groupby("species").size())

Split and Train

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier

X = df.drop("species", axis=1)
y = df["species"]
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(X_train, y_train)

Evaluate

from sklearn.metrics import accuracy_score, classification_report

preds = clf.predict(X_test)
print(accuracy_score(y_test, preds))
print(classification_report(y_test, preds))

A perfect or near-perfect score here is expected: iris is an easy dataset. The real lesson is the pipeline and the habits it encodes.

Lessons That Transfer

  • One script runs from raw data to final metrics.
  • The split is fixed, so results are reproducible.
  • Per-class metrics reveal where the confusion is.
  • Retrain again: swap the forest for a logistic regression and compare scores.

Now change one thing at a time: scale the features, try a different model, or add noise. Every change that moves a score demonstrates a concept you have learned. This loop, on dataset after dataset, is how machine learning ability is actually built.

Key Points

  • Assemble load, split, train, evaluate into one script.
  • Reproduce the split with a fixed random state.
  • Read the per-class report, not just accuracy.
  • Experiment one change at a time.
Share this post:

Comments (0)

Please login or register to comment.