示例#1
0
    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)
示例#2
0
    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)
示例#3
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)
示例#4
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)