Intermediate

Qiskit for Quantum Machine Learning

Qiskit is IBM's open-source framework for quantum computing. Its Machine Learning module provides tools for building and training quantum ML models on simulators and real quantum hardware.

What is Qiskit?

Qiskit (Quantum Information Science Kit) is the most widely used quantum computing framework. It provides:

  • Qiskit Terra: Core circuit construction, transpilation, and backend management.
  • Qiskit Machine Learning: QML algorithms including VQC, QSVC, quantum kernels, and neural networks.
  • Qiskit Runtime: Optimized execution on IBM Quantum hardware with sessions and primitives.
  • Qiskit Aer: High-performance simulators with noise models for realistic testing.

Getting Started

# Install Qiskit and ML module
pip install qiskit qiskit-machine-learning qiskit-aer

# Verify installation
import qiskit
print(qiskit.__version__)

Building a Quantum Classifier

from qiskit.circuit.library import ZZFeatureMap, RealAmplitudes
from qiskit_machine_learning.algorithms import VQC
from qiskit_aer import AerSimulator
from qiskit.primitives import StatevectorSampler

# 1. Feature map: encode 2D data into quantum states
feature_map = ZZFeatureMap(feature_dimension=2, reps=2)

# 2. Ansatz: trainable quantum circuit
ansatz = RealAmplitudes(num_qubits=2, reps=2)

# 3. Create VQC classifier
vqc = VQC(
    feature_map=feature_map,
    ansatz=ansatz,
    optimizer="COBYLA",
    sampler=StatevectorSampler()
)

# 4. Train on data (X_train: features, y_train: labels)
vqc.fit(X_train, y_train)

# 5. Predict
predictions = vqc.predict(X_test)
accuracy = vqc.score(X_test, y_test)

Quantum Kernel with Qiskit

from qiskit_machine_learning.kernels import FidelityQuantumKernel
from sklearn.svm import SVC

# Create quantum kernel
kernel = FidelityQuantumKernel(feature_map=ZZFeatureMap(2, reps=2))

# Compute kernel matrix
kernel_matrix_train = kernel.evaluate(X_train)

# Use with classical SVM
svc = SVC(kernel="precomputed")
svc.fit(kernel_matrix_train, y_train)

kernel_matrix_test = kernel.evaluate(X_test, X_train)
predictions = svc.predict(kernel_matrix_test)

Running on Real Quantum Hardware

  1. Get an IBM Quantum Account

    Sign up at quantum.ibm.com. Free tier provides access to real quantum processors.

  2. Select a Backend

    Choose a quantum processor based on qubit count, error rates, and queue times.

  3. Use Qiskit Runtime

    Runtime sessions batch circuit executions efficiently, reducing queue overhead.

  4. Apply Error Mitigation

    Use built-in error mitigation techniques (twirled readout error extinction, ZNE) for better results.

Qiskit ML Components

ComponentPurposeUse Case
VQCVariational Quantum ClassifierBinary and multi-class classification
VQRVariational Quantum RegressorRegression tasks
QSVCQuantum Support Vector ClassifierKernel-based classification
QNNQuantum Neural NetworkCustom quantum layers in hybrid models
TorchConnectorPyTorch integrationHybrid quantum-classical deep learning
Key takeaway: Qiskit provides a complete ecosystem for quantum ML, from circuit construction to hardware execution. Start with the statevector simulator for development, then move to real hardware using Qiskit Runtime with error mitigation for production experiments.

Ready to Go Deeper?

Live instructor-led courses from our partners. Affiliate disclosure.