Skip to main content

Quantum K-medoid clustering

Project description

TNO Quantum: ML - Classification - KMedoid

TNO Quantum provides generic software components aimed at facilitating the development of quantum applications.

This package implements a scikit-learn compatible kmedoid clustering.

Limitations in (end-)use: the content of this software package may solely be used for applications that comply with international export control laws.

Documentation

Documentation of the tno.quantum.ml.clustering.kmedoids package can be found here.

Install

Easily install the tno.quantum.ml.clustering.kmedoids package using pip:

$ python -m pip install tno.quantum.ml.clustering.kmedoid

Example

The K-medoids clustering can be used as shown in the following example.

  • Note: This example requires tno.quantum.optimization.solvers[dwave] and tno.quantum.ml.datasets which can be installed along the package using:

    $ python -m pip install tno.quantum.ml.clustering.kmedoids[example]
    
import matplotlib.pyplot as plt
import numpy as np
from tno.quantum.ml.datasets import get_blobs_clustering_dataset

from tno.quantum.ml.clustering.kmedoids import QKMedoids

# Generate sample data
n_centers = 6
X, true_labels = get_blobs_clustering_dataset(
    n_samples=120, n_features=2, n_centers=n_centers
)

# Create QKMedoids object and fit
cobj = QKMedoids(
    n_clusters=n_centers,
    solver_config={
        "name": "simulated_annealing_solver",
        "options": {"random_state": 42},
    },
)
pred_labels = cobj.fit_predict(X)

# Plot results
fig, ax = plt.subplots(nrows=1, ncols=1)
unique_labels = np.unique(pred_labels)
colors = plt.cm.Spectral(np.linspace(0, 1, len(unique_labels)))
for k, col in zip(unique_labels, colors):
    class_member_mask = cobj.labels_ == k
    xy = X[class_member_mask]
    x, y = np.split(xy, 2, axis=1)
    ax.plot(x, y, "o", mfc=tuple(col), mec="k", ms=6)

x_centers, y_centers = np.split(cobj.cluster_centers_, 2, axis=1)
ax.plot(x_centers, y_centers, "o", mfc="cyan", mec="k", ms=6)

ax.set_title("Quantum KMedoids clustering")
plt.show()

We refer to the documentation for more information regarding possible parameters.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tno_quantum_ml_clustering_kmedoids-2.0.2.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file tno_quantum_ml_clustering_kmedoids-2.0.2.tar.gz.

File metadata

File hashes

Hashes for tno_quantum_ml_clustering_kmedoids-2.0.2.tar.gz
Algorithm Hash digest
SHA256 1dafa4a0a32401ba2094c0b155602bf8d4aa5d795ee9221497705631c58b5fdb
MD5 5691b94bc5e472f133586689aec9a94c
BLAKE2b-256 42a0e6a1bf3bc215844ec381c707f408e08e02af3c7a7e12d9a1527994989a28

See more details on using hashes here.

File details

Details for the file tno_quantum_ml_clustering_kmedoids-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for tno_quantum_ml_clustering_kmedoids-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 34c6f3813feeace7666c0aaa195d6c838b6c96c3d1b2a9671fb47e3b1e63d990
MD5 bdc132d8d763a3647fd4053c689d8e06
BLAKE2b-256 5f81b5309114fa86c1aa8973eb86175c484a213bf241fb547f14ec4e1a22c196

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page