Hello all.
I found this post very useful. However, in the case of using Qiskit Machine Learning I find that the QuantumInstance function is deprecated. It still works but you get the Deprecated Warning. I have tried using the migration indicated by Qiskit, from Quantum instance to Sampler(), however, the training time goes from 250 ms to 1 min 36s. I share my code with you below. Does anyone know how this time can be reduced and this migration done more optimally?
Thank you so much.
from sklearn.svm import SVC
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
from qiskit.circuit.library import ZZFeatureMap
from qiskit.primitives import Sampler
from qiskit_algorithms.state_fidelities import ComputeUncompute
from qiskit_machine_learning.kernels import FidelityQuantumKernel
from qiskit import BasicAer
from qiskit.circuit.library import ZZFeatureMap, ZFeatureMap, PauliFeatureMap
from qiskit.utils import QuantumInstance, algorithm_globals
from qiskit_machine_learning.algorithms import QSVC
from qiskit_machine_learning.kernels import QuantumKernel
n_qubits = 4
n_dim = len(X_train[0])
n_reps = 1
input_data_dimension = n_dim
n_duplicate = int(n_qubits/input_data_dimension)
_X_train = np.tile(X_train, n_duplicate)
adhoc_feature_map = ZZFeatureMap(feature_dimension=4, reps=2, entanglement=“linear”)
sampler = Sampler()
fidelity = ComputeUncompute(sampler=sampler)
adhoc_kernel = FidelityQuantumKernel(fidelity=fidelity, feature_map=adhoc_feature_map)
print(np.shape(X_train)[0],‘x’,np.shape(X_train)[0],‘kernel_matrix’,‘with’, n_qubits,‘qubits circuits’)
%time adhoc_kernel.evaluate(_X_train,_X_train)