Example #1
0
    def test_vqc_with_raw_feature_vector_on_wine(self):
        """ vqc with raw features vector on wine test """
        feature_dim = 4  # dimension of each data point
        training_dataset_size = 8
        testing_dataset_size = 4

        _, training_input, test_input, _ = _wine_data(
            training_size=training_dataset_size,
            test_size=testing_dataset_size,
            n=feature_dim
        )
        aqua_globals.random_seed = self.seed
        feature_map = RawFeatureVector(feature_dimension=feature_dim)
        vqc = VQC(COBYLA(maxiter=100),
                  feature_map,
                  RYRZ(feature_map.num_qubits, depth=3),
                  training_input,
                  test_input)
        result = vqc.run(QuantumInstance(BasicAer.get_backend('statevector_simulator'),
                                         shots=1024,
                                         seed_simulator=aqua_globals.random_seed,
                                         seed_transpiler=aqua_globals.random_seed))
        self.log.debug(result['testing_accuracy'])

        self.assertGreater(result['testing_accuracy'], 0.8)
    def test_readme_sample(self):
        """ readme sample test """

        # pylint: disable=import-outside-toplevel,redefined-builtin

        def print(*args):
            """ overloads print to log values """
            if args:
                self.log.debug(args[0], *args[1:])

        # --- Exact copy of sample code ----------------------------------------

        from qiskit import BasicAer
        from qiskit.aqua import QuantumInstance, aqua_globals
        from qiskit.aqua.algorithms import VQC
        from qiskit.aqua.components.optimizers import COBYLA
        from qiskit.aqua.components.feature_maps import RawFeatureVector
        from qiskit.ml.datasets import wine
        from qiskit.circuit.library import TwoLocal

        seed = 1376
        aqua_globals.random_seed = seed

        # Use Wine data set for training and test data
        feature_dim = 4  # dimension of each data point
        _, training_input, test_input, _ = wine(training_size=12,
                                                test_size=4,
                                                n=feature_dim)

        feature_map = RawFeatureVector(feature_dimension=feature_dim)
        vqc = VQC(COBYLA(maxiter=100), feature_map,
                  TwoLocal(feature_map.num_qubits, ['ry', 'rz'], 'cz', reps=3),
                  training_input, test_input)
        result = vqc.run(
            QuantumInstance(BasicAer.get_backend('statevector_simulator'),
                            shots=1024,
                            seed_simulator=seed,
                            seed_transpiler=seed))

        print('Testing accuracy: {:0.2f}'.format(result['testing_accuracy']))

        # ----------------------------------------------------------------------

        self.assertGreater(result['testing_accuracy'], 0.8)
Example #3
0
    def test_raw_feature_vector_on_wine(self):
        """Test VQE on the wine dataset using the ``RawFeatureVector`` as data preparation."""
        feature_dim = 4  # dimension of each data point
        training_dataset_size = 8
        testing_dataset_size = 4

        _, training_input, test_input, _ = wine(
            training_size=training_dataset_size,
            test_size=testing_dataset_size,
            n=feature_dim,
            plot_data=False)
        feature_map = RawFeatureVector(feature_dimension=feature_dim)

        vqc = VQC(COBYLA(maxiter=100), feature_map,
                  TwoLocal(feature_map.num_qubits, ['ry', 'rz'], 'cz', reps=3),
                  training_input, test_input)
        result = vqc.run(self.statevector_simulator)

        self.log.debug(result['testing_accuracy'])
        self.assertGreater(result['testing_accuracy'], 0.8)
    result = svm.run(quantum_instance)
    for k, v in result.items():
        print(f'{k} : {v}')
except Exception as e:
    print('QSVM 2 error', e)

time0 = time.time() - start_time
print("\nQSVM finished at: {0} seconds".format(str(round(time0, 5))))

training_input, test_input, total_array = traintest(df_enc, tonum=False)

try:
    seed = 1376
    aqua_globals.random_seed = seed

    feature_map = RawFeatureVector(feature_dimension=n)
    vqc = VQC(COBYLA(maxiter=10), feature_map,
              TwoLocal(feature_map.num_qubits, ['ry', 'rz'], 'cz', reps=3),
              training_input, test_input)
    result = vqc.run(
        QuantumInstance(BasicAer.get_backend('statevector_simulator'),
                        shots=1024,
                        seed_simulator=seed,
                        seed_transpiler=seed))
    print('VQC:')
    print('Testing accuracy: {:0.2f}'.format(result['testing_accuracy']))
except Exception as e:
    print('VQC error', e)

time0 = time.time() - start_time
print("\nVQC finished at: {0} seconds".format(str(round(time0, 5))))
Example #5
0
from qiskit.aqua.components.feature_maps import RawFeatureVector
from qiskit.aqua.utils import get_feature_dimension

feature_dim = 4  # dimension of each data point
training_dataset_size = 20
testing_dataset_size = 10
random_seed = 10598
aqua_globals.random_seed = random_seed

sample_Total, training_input, test_input, class_labels = wine(
    training_size=training_dataset_size,
    test_size=testing_dataset_size,
    n=feature_dim,
    plot_data=False)

feature_map = RawFeatureVector(
    feature_dimension=get_feature_dimension(training_input))
vqc = VQC(COBYLA(maxiter=200), feature_map,
          TwoLocal(feature_map.num_qubits, ['ry', 'rz'], 'cz', reps=3),
          training_input, test_input)
result = vqc.run(
    QuantumInstance(BasicAer.get_backend('statevector_simulator'),
                    seed_simulator=aqua_globals.random_seed,
                    seed_transpiler=aqua_globals.random_seed))
print("VQC accuracy with RawFeatureVector: ", result['testing_accuracy'])

feature_map = ZZFeatureMap(get_feature_dimension(training_input))
vqc = VQC(COBYLA(maxiter=200), feature_map,
          TwoLocal(feature_map.num_qubits, ['ry', 'rz'], 'cz', reps=3),
          training_input, test_input)
result = vqc.run(
    QuantumInstance(BasicAer.get_backend('statevector_simulator'),