This repository demonstrates how quantum computing techniques can be applied to classification tasks using Qiskit, a powerful quantum computing framework. The project primarily focuses on implementing Quantum Support Vector Classifier (QSVC) with various quantum feature maps and entanglement strategies. Additionally, it includes advanced methods for model evaluation, visualization, and comparison of quantum feature maps' performance.
-
Data Preprocessing:
- Scales dataset features using
MinMaxScaler
to standardize the range of features. - Splits the dataset into training and testing sets with an 80-20 split, preserving label distributions.
- Scales dataset features using
-
Quantum Classification:
- Implements Quantum Support Vector Classifier (QSVC) utilizing quantum kernels for improved performance.
- Supports different Quantum Feature Maps (ZZFeatureMap) to transform classical data into quantum features.
-
Quantum Feature Maps:
- Experiments with ZZFeatureMap with different entanglement strategies:
- Linear Entanglement: Simple linear coupling between qubits.
- Circular Entanglement: Circular coupling for more complex entanglement patterns.
- Full Entanglement: Fully connected entanglement across all qubits for maximum expressive power.
- Experiments with ZZFeatureMap with different entanglement strategies:
-
Model Evaluation:
- Generates classification reports that evaluate the performance of QSVC models on the test dataset.
- Visualizes performance metrics comparing models with different quantum feature maps and entanglement strategies.
This project includes various visualizations of classification performance. These plots illustrate how different feature maps and entanglement strategies affect the accuracy of quantum classifiers.
Visualize the different quantum feature map circuits used in the model, including the entanglement structure:
Comparing various entanglement strategies used in the ZZFeatureMap to see their effects on classification accuracy:
This section includes visualizations of the importance of various features in the model and how they impact the classifier's performance: