def test_change_kernel(self): """Test QSVC with QuantumKernel later""" qkernel = QuantumKernel(feature_map=self.feature_map, quantum_instance=self.statevector_simulator) pegasos_qsvc = PegasosQSVC(C=1000, num_steps=self.tau) pegasos_qsvc.quantum_kernel = qkernel pegasos_qsvc.fit(self.sample_train, self.label_train) score = pegasos_qsvc.score(self.sample_test, self.label_test) self.assertEqual(score, 1)
def test_qsvc_4d(self): """Test PegasosQSVC with 4-dimensional input data""" qkernel = QuantumKernel(feature_map=self.feature_map_4d, quantum_instance=self.statevector_simulator) pegasos_qsvc = PegasosQSVC(quantum_kernel=qkernel, C=1000, num_steps=self.tau) pegasos_qsvc.fit(self.sample_train_4d, self.label_train_4d) score = pegasos_qsvc.score(self.sample_test_4d, self.label_test_4d) self.assertEqual(score, 1.0)
def test_precomputed_kernel(self): """Test PegasosQSVC with a precomputed kernel matrix""" qkernel = QuantumKernel(feature_map=self.feature_map, quantum_instance=self.statevector_simulator) pegasos_qsvc = PegasosQSVC(C=1000, num_steps=self.tau, precomputed=True) # training kernel_matrix_train = qkernel.evaluate(self.sample_train, self.sample_train) pegasos_qsvc.fit(kernel_matrix_train, self.label_train) # testing kernel_matrix_test = qkernel.evaluate(self.sample_test, self.sample_train) score = pegasos_qsvc.score(kernel_matrix_test, self.label_test) self.assertEqual(score, 1.0)
def test_labels(self): """Test PegasosQSVC with different integer labels than {0, 1}""" qkernel = QuantumKernel(feature_map=self.feature_map, quantum_instance=self.statevector_simulator) pegasos_qsvc = PegasosQSVC(quantum_kernel=qkernel, C=1000, num_steps=self.tau) label_train_temp = self.label_train.copy() label_train_temp[self.label_train == 0] = 2 label_train_temp[self.label_train == 1] = 3 label_test_temp = self.label_test.copy() label_test_temp[self.label_test == 0] = 2 label_test_temp[self.label_test == 1] = 3 pegasos_qsvc.fit(self.sample_train, label_train_temp) score = pegasos_qsvc.score(self.sample_test, label_test_temp) self.assertEqual(score, 1.0)