VQCRegressor#
The VQCRegressor is a variational quantum regressor.
- class VQCRegressor(n_qubits: int = 4, feature_map: FeatureMap | None = None, ansatz=None, measurement=None, optimizer='adam', learning_rate=0.01, n_iter=100, batch_size=None, random_state=None, device='default.qubit')[source]
Bases:
QuantumEstimator,RegressorMixinVariational Quantum Regressor.
A variational quantum model for regression tasks that uses a quantum circuit to map inputs to continuous outputs. The model is trained to minimize mean squared error (MSE) using gradient-based optimization.
The implementation follows the variational quantum algorithm (VQA) paradigm where: 1. Classical features are encoded into quantum states (feature map) 2. A parameterized ansatz circuit processes the encoded states 3. Measurement (typically Pauli-Z expectation) provides continuous output 4. The target variable is scaled to match the measurement range [-1, 1] 5. Gradients computed via parameter shift rule optimize the parameters
This approach extends quantum neural networks to regression tasks as described in Schuld et al. (2018, arXiv:1804.00633) and Mitarai et al. (2018, arXiv:1803.00745).
- Parameters:
n_qubits (int, default=4) – Number of qubits in the quantum circuit.
feature_map (FeatureMap, optional) – Data encoding circuit. Default: AngleFeatureMap()
ansatz (Ansatz, optional) – Parameterized circuit. Default: StronglyEntanglingAnsatz(layers=2)
measurement (Measurement, optional) – Measurement operator. Default: PauliZExpectation()
optimizer (str or callable, default="adam") – Optimizer for training (adam or sgd).
learning_rate (float, default=0.01) – Learning rate.
n_iter (int, default=100) – Number of optimization iterations.
batch_size (int, optional) – Batch size for training.
random_state (int, optional) – Random seed.
device (str, default="default.qubit") – PennyLane device.
- n_features_in_
Number of features seen during fit.
- Type:
int
- weights_
Trained circuit parameters.
- Type:
ndarray
- feature_map_
Fitted feature map.
- Type:
- ansatz_
Ansatz instance.
- Type:
Ansatz
- scaler_
Fitted scaler for target variable.
- Type:
StandardScaler
- loss_history_
Training loss per iteration.
- Type:
list[float]
- qnode_
Cached QNode for inference.
- Type:
callable
References
- fit(X, y)[source]
Fit the regressor.
- predict(X)[source]
Predict continuous values.
- score(X, y)[source]
Return R^2 score.
The regressor uses MSE loss and StandardScaler for target scaling.
Output is Pauli-Z expectation value from the final quantum circuit.