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, RegressorMixin

Variational 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:

FeatureMap

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.