Skip to main content
Practice

ML Workflow and Model Lifecycle


A machine learning project moves through several key stages, from understanding the problem to deploying and monitoring the model.
The full breakdown of these stages is in the slide deck for this lesson — here, we’ll focus on applying the idea in code.

In short, the workflow involves:

  • Defining the problem
  • Preparing data
  • Training and evaluating a model
  • Deploying and monitoring it

Example: Lifecycle in Action

ML Lifecycle Example: Decision Tree Classifier
# Install scikit-learn in Jupyter Lite
import piplite
await piplite.install('scikit-learn')

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score, classification_report

# Load dataset
iris = load_iris()
X, y = iris.data, iris.target

# Split data
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)

# Choose and train model
model = DecisionTreeClassifier(max_depth=3, random_state=42)
model.fit(X_train, y_train)

# Evaluate
y_pred = model.predict(X_test)
print(f"Accuracy: {accuracy_score(y_test, y_pred):.2f}")
print(classification_report(y_test, y_pred, target_names=iris.target_names))

Key Points

  • The lifecycle is iterative, not one-way — you may return to earlier steps.
  • Scikit-learn provides tools for data prep, training, evaluation, and more.
  • Refer to the slide deck for a detailed visual map of each stage.

What’s Next?

In the next lesson, we’ll explore feature scaling and preprocessing to prepare data for model training.

Want to learn more?

Join CodeFriends Plus membership or enroll in a course to start your journey.