Покращення класифікації ознак за допомогою проєкційних квантових ядер
Оцінка використання: 80 хвилин на процесорі Heron r3 (ПРИМІТКА: Це лише оцінка. Ваш час виконання може відрізнятися.)
У цьому навчальному посібнику ми демонструємо, як запустити проєкційне квантове ядро (PQK) з Qiskit на реальному біологічному наборі даних, на основі статті Enhanced Prediction of CAR T-Cell Cytotoxicity with Quantum-Kernel Methods [1].
PQK — це метод, що використовується в квантовому машинному навчанні (QML) для кодування класичних даних у квантовий простір ознак та їх проєкції назад у класичну область, за допомогою квантових комп'ютерів для покращення вибору ознак. Він включає кодування класичних даних у квантові стани за допомогою квантової схеми, зазвичай через процес, що називається відображенням ознак, де дані перетворюються у багатовимірний простір Гільберта. "Проєкційний" аспект відноситься до вилучення класичної інформації з квантових станів шляхом вимірювання конкретних спостережуваних величин, для побудови матриці ядра, яку можна використовувати в класичних алгоритмах на основі ядер, таких як метод опорних векторів. Цей підхід використовує обчислювальні переваги квантових систем для потенційного досягнення кращої продуктивності на певних завданнях порівняно з класичними методами.
Цей навчальний посібник також передбачає загальне знайомство з методами QML. Для подальшого вивчення QML зверніться до курсу Quantum machine learning в IBM Quantum Learning.
Вимоги
Перед початком цього навчального посібника переконайтеся, що у Вас встановлено наступне:
- Qiskit SDK v2.0 або пізніше, з підтримкою visualization
- Qiskit Runtime v0.40 або пізніше (
pip install qiskit-ibm-runtime) - Category encoders 2.8.1 (
pip install category-encoders) - NumPy 2.3.2 (
pip install numpy) - Pandas 2.3.2 (
pip install pandas) - Scikit-learn 1.7.1 (
pip install scikit-learn) - Tqdm 4.67.1 (
pip install tqdm)
Налаштування
# Added by doQumentation — required packages for this notebook
!pip install -q category-encoders numpy pandas qiskit qiskit-ibm-runtime scipy scikit-learn tqdm
import warnings
# Standard libraries
import os
import numpy as np
import pandas as pd
# Machine learning and data processing
import category_encoders as ce
from scipy.linalg import inv, sqrtm
from sklearn.metrics.pairwise import rbf_kernel
from sklearn.model_selection import GridSearchCV, StratifiedKFold
from sklearn.svm import SVC
# Qiskit and Qiskit Runtime
from qiskit import QuantumCircuit
from qiskit.circuit import ParameterVector
from qiskit.circuit.library import UnitaryGate, ZZFeatureMap
from qiskit.quantum_info import SparsePauliOp, random_unitary
from qiskit.transpiler import generate_preset_pass_manager
from qiskit_ibm_runtime import (
Batch,
EstimatorOptions,
EstimatorV2 as Estimator,
QiskitRuntimeService,
)
# Progress bar
import tqdm
warnings.filterwarnings("ignore")