Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quantum Machine Learning with Qiskit

Quantum Machine Learning (QML) combines quantum computing with classical machine learning. This chapter gives you a realistic starting point.

What QML Looks Like in Practice

Beginner-friendly QML typically falls into two categories:

TypeDescriptionQiskit Package
Quantum KernelsMeasure similarity between quantum statesqiskit-machine-learning
Variational ModelsParameterized circuits optimized for tasksqiskit-machine-learning

Installing the Package

uv add qiskit-machine-learning

Quantum Kernels

The workflow:

  1. Encode classical data into quantum states (feature map)
  2. Prepare states and measure overlap (kernel)
  3. Use kernel in classical ML algorithm
from qiskit import QuantumCircuit
from qiskit.circuit import ParameterVector

# Simple feature map
def feature_map(x, n=2):
    qc = QuantumCircuit(n)
    for i in range(n):
        qc.h(i)
        qc.rz(x[i], i)
    qc.cx(0, 1)
    return qc

# Use it
x = ParameterVector("x", 2)
fm = feature_map(x)
print(fm)

Variational Circuits

A variational circuit has:

  1. Feature map (encodes data)
  2. Ansatz (trainable parameters)
  3. Measurement (outputs predictions)
from qiskit import QuantumCircuit
from qiskit.circuit import ParameterVector

# Trainable ansatz
def ansatz(params, n=2):
    qc = QuantumCircuit(n)
    for i in range(n):
        qc.ry(params[i], i)
    qc.cx(0, 1)
    for i in range(n):
        qc.rz(params[n+i], i)
    return qc

# Use it
params = ParameterVector("θ", 4)
ans = ansatz(params)
print(ans)

Connecting to Scikit-Learn

from qiskit_machine_learning.algorithms import QiskitClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

# Simple example structure (full implementation requires more setup)
X, y = make_classification(n_samples=100, n_features=2, n_classes=2)
X_train, X_test, y_train, y_test = train_test_split(X, y)

How Earlier Chapters Support QML

QML ConceptRelevant Chapter
Feature mapsState preparation, basis changes
Kernel computationPhase, interference
Ansatz designSingle/two-qubit gates
Gradient computationMeasurement, sampling

QML isn’t a separate island—it’s built from circuit primitives.

A Realistic Beginner Goal

You don’t need to become a QML researcher. A good goal:

  • Read a kernel tutorial without getting lost
  • Write a parameterized feature map
  • Write a variational ansatz
  • Understand where trainable parameters live
  • Debug a circuit before training

If you can do these, official tutorials become approachable.

What to Watch Out For

PitfallSymptom
Too many qubitsBarren plateaus, noise
Feature/ansatz confusionWrong parameters optimized
Classical preprocessingData not encoded properly
Shot noiseInconsistent gradients

Checkpoint Exercises

Exercise 1

Install qiskit-machine-learning.

Exercise 2

Write a 2-qubit feature map with parameterized rotations.

Exercise 3

Write a 4-parameter variational ansatz.

Exercise 4

Identify which earlier chapters support kernel methods vs variational methods.


Next: Next Steps