pyriemann_qiskit.pipelines.QuantumMDMWithRiemannianPipeline¶
- class pyriemann_qiskit.pipelines.QuantumMDMWithRiemannianPipeline(metric={'distance': 'qlogeuclid_hull', 'mean': 'logeuclid'}, quantum=True, q_account_token=None, verbose=True, shots=1024, upper_bound=7, regularization=None, classical_optimizer=<qiskit_optimization.algorithms.slsqp_optimizer.SlsqpOptimizer object>, seed=None, qaoa_optimizer=<qiskit_algorithms.optimizers.slsqp.SLSQP object>)[source]¶
MDM with Riemannian pipeline adapted for cpm metrics.
It can run on classical or quantum optimizer.
- Parameters:
metric (string | dict, default={"mean": 'logeuclid', "distance": 'qlogeuclid'}) – The type of metric used for centroid and distance estimation.
quantum (bool (default: True)) –
If true will run on local or remote backend (depending on q_account_token value),
If false, will perform classical computing instead.
q_account_token (string (default:None)) – If quantum is True and q_account_token provided, the classification task will be running on a IBM quantum backend. If load_account is provided, the classifier will use the previous token saved with IBMProvider.save_account().
verbose (bool (default:True)) – If true, will output all intermediate results and logs.
shots (int (default:1024)) – Number of repetitions of each circuit, for sampling.
upper_bound (int (default: 7)) – The maximum integer value for matrix normalization.
regularization (MixinTransformer (defulat: None)) – Additional post-processing to regularize means.
classical_optimizer (OptimizationAlgorithm) – An instance of OptimizationAlgorithm [1]
seed (int | None, default=None) – Random seed for the simulation and transpilation.
qaoa_optimizer (SciPyOptimizer, default=SLSQP()) – An instance of a scipy optimizer to find the optimal weights for the parametric circuit (ansatz).
Notes
Added in version 0.1.0.
Changed in version 0.2.0: Add regularization parameter. Add classical_optimizer parameter. Change metric, so you can pass the kernel of your choice as when using MDM.
Changed in version 0.3.0: Add seed parameter. Add qaoa_optimizer
See also
QuanticMDMReferences
- __init__(metric={'distance': 'qlogeuclid_hull', 'mean': 'logeuclid'}, quantum=True, q_account_token=None, verbose=True, shots=1024, upper_bound=7, regularization=None, classical_optimizer=<qiskit_optimization.algorithms.slsqp_optimizer.SlsqpOptimizer object>, seed=None, qaoa_optimizer=<qiskit_algorithms.optimizers.slsqp.SLSQP object>)[source]¶
Examples using pyriemann_qiskit.pipelines.QuantumMDMWithRiemannianPipeline¶
Brain-Invaders with illiteracy classification example
Classification of P300 datasets from MOABB using Quantum MDM
Classification of MI datasets from MOABB using MDM and quantum-enhanced MDM
Multiclass EEG classification with Quantum Pipeline