FIELD GUIDE 02
Build a first
model.
Six small project ideas plus one transparent, reproducible scikit-learn starter.
01 01 / Pick a question
Machine learning basic projects,
with a purpose.
Choose a small dataset, define one target and write down how you will know if the model helps. Avoid projects that make consequential decisions about real people.
Six beginner projects that stay manageable
Iris species
Use flower measurements to predict one of three species. Compare majority-class and logistic-regression baselines.
Handwritten digits
Classify small digit images. Inspect which digits the model confuses; do not treat a test score as real-world OCR performance.
Wine cultivar
Use built-in measurements to predict a class. Check whether scaling changes a linear model.
One numeric target
Pick a documented toy or permitted public dataset, predict a numeric value, and compare to a mean baseline.
Short text categories
Use a small labelled sample, document its source and consent/licence, then compare a simple bag-of-words baseline.
Small image classifier
Explore a known teaching dataset after a basic tabular project. PyTorch’s tutorial walks through a CIFAR-10 classifier.
scikit-learn includes small toy datasets such as Iris, digits and wine for learning the API. They are teaching examples, not evidence of deployment readiness.
02 02 / Minimal example
Fit a baseline
before adding complexity.
This short scikit-learn example uses Iris. The test set is held out from model fitting; its score is only a small teaching estimate.
A reproducible first classifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=42, stratify=y
)
model = make_pipeline(StandardScaler(), LogisticRegression(max_iter=1000))
model.fit(X_train, y_train)
predictions = model.predict(X_test)
print(accuracy_score(y_test, predictions))The pipeline keeps scaling inside the training process and avoids fitting the scaler to test examples. In a larger study, use validation or cross-validation for choices and evaluate the reserved test set once at the end. See scikit-learn’s getting-started guide and split API.
03 03 / Learn from errors
A score is a start,
not the story.
Reviewing errors often teaches more than changing algorithms at random. Keep notes so another person can reproduce the result.
Project checklist
- State the target, inputs and intended use.
- Read the dataset documentation and licence before using it.
- Split the data before fitting preprocessing or choosing parameters.
- Compare against a simple baseline and report the task-appropriate metric.
- Inspect a few false positives, false negatives or large residuals.
- Write down the dataset’s known limitations and do not overclaim.
For the next step, read the machine learning beginner course. If images become your focus, explore CNN layers and the neural-network lesson.
FAQ Machine learning / quick answers
Questions,
answered.
Short explanations with the limits left visible.
01 / answerWhich dataset is easiest for a first project?
Iris is small and labelled, so it works well for a first classification pipeline. Digits and wine are also included in scikit-learn’s teaching datasets.
02 / answerWhat are machine learning basic projects?
They are small exercises with a defined input, target and evaluation method, such as classifying Iris flowers or handwritten digits. A useful project documents its data and limitations.
03 / answerShould I use accuracy for every project?
No. Accuracy is easy to read for balanced classification, but it can hide poor results on rare classes. Choose metrics based on the task and error costs.
04 / answerCan I deploy a model from a tutorial?
A tutorial model is not deployment approval. Real use needs representative data, privacy and security review, monitoring, and evidence that errors are acceptable for the intended context.