.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/pcovc/PCovC_Comparison.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_pcovc_PCovC_Comparison.py: Comparing PCovC with PCA and LDA ================================ .. GENERATED FROM PYTHON SOURCE LINES 10-27 .. code-block:: Python import matplotlib.pyplot as plt import numpy as np from sklearn.datasets import load_breast_cancer from sklearn.decomposition import PCA from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.linear_model import LogisticRegressionCV from sklearn.preprocessing import StandardScaler from skmatter.decomposition import PCovC plt.rcParams["image.cmap"] = "tab10" plt.rcParams["scatter.edgecolors"] = "k" random_state = 0 .. GENERATED FROM PYTHON SOURCE LINES 28-30 For this, we will use the :func:`sklearn.datasets.load_breast_cancer` dataset from ``sklearn``. .. GENERATED FROM PYTHON SOURCE LINES 31-37 .. code-block:: Python X, y = load_breast_cancer(return_X_y=True) scaler = StandardScaler() X_scaled = scaler.fit_transform(X) .. GENERATED FROM PYTHON SOURCE LINES 38-41 PCA --- .. GENERATED FROM PYTHON SOURCE LINES 42-58 .. code-block:: Python pca = PCA(n_components=2) pca.fit(X_scaled, y) T_pca = pca.transform(X_scaled) fig, ax = plt.subplots() scatter = ax.scatter(T_pca[:, 0], T_pca[:, 1], c=y) ax.set(xlabel="PC$_1$", ylabel="PC$_2$") ax.legend( scatter.legend_elements()[0][::-1], load_breast_cancer().target_names[::-1], loc="upper right", title="Classes", ) .. image-sg:: /examples/pcovc/images/sphx_glr_PCovC_Comparison_001.png :alt: PCovC Comparison :srcset: /examples/pcovc/images/sphx_glr_PCovC_Comparison_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none .. GENERATED FROM PYTHON SOURCE LINES 59-62 LDA --- .. GENERATED FROM PYTHON SOURCE LINES 63-73 .. code-block:: Python lda = LinearDiscriminantAnalysis(n_components=1) lda.fit(X_scaled, y) T_lda = lda.transform(X_scaled) fig, ax = plt.subplots() ax.scatter(T_lda[:], np.zeros(len(T_lda[:])), c=y) ax.set(xlabel="LDA$_1$", ylabel="LDA$_2$") .. image-sg:: /examples/pcovc/images/sphx_glr_PCovC_Comparison_002.png :alt: PCovC Comparison :srcset: /examples/pcovc/images/sphx_glr_PCovC_Comparison_002.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none [Text(0.5, 23.52222222222222, 'LDA$_1$'), Text(22.472222222222214, 0.5, 'LDA$_2$')] .. GENERATED FROM PYTHON SOURCE LINES 74-80 PCovC ------------------- Below, we see the map produced by a PCovC model with :math:`\alpha` = 0.5 and a logistic regression classifier. .. GENERATED FROM PYTHON SOURCE LINES 81-98 .. code-block:: Python mixing = 0.5 pcovc = PCovC( mixing=mixing, n_components=2, random_state=random_state, classifier=LogisticRegressionCV(), ) pcovc.fit(X_scaled, y) T_pcovc = pcovc.transform(X_scaled) fig, ax = plt.subplots() ax.scatter(T_pcovc[:, 0], T_pcovc[:, 1], c=y) ax.set(xlabel="PCov$_1$", ylabel="PCov$_2$") .. image-sg:: /examples/pcovc/images/sphx_glr_PCovC_Comparison_003.png :alt: PCovC Comparison :srcset: /examples/pcovc/images/sphx_glr_PCovC_Comparison_003.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none [Text(0.5, 23.52222222222222, 'PCov$_1$'), Text(44.347222222222214, 0.5, 'PCov$_2$')] .. GENERATED FROM PYTHON SOURCE LINES 99-101 A side-by-side comparison of the three maps (PCA, LDA, and PCovC): .. GENERATED FROM PYTHON SOURCE LINES 102-113 .. code-block:: Python fig, axs = plt.subplots(1, 3, figsize=(18, 5)) axs[0].scatter(T_pca[:, 0], T_pca[:, 1], c=y) axs[0].set_title("PCA") axs[1].scatter(T_lda, np.zeros(len(T_lda)), c=y) axs[1].set_title("LDA") axs[2].scatter(T_pcovc[:, 0], T_pcovc[:, 1], c=y) axs[2].set_title("PCovC") plt.tight_layout() plt.show() .. image-sg:: /examples/pcovc/images/sphx_glr_PCovC_Comparison_004.png :alt: PCA, LDA, PCovC :srcset: /examples/pcovc/images/sphx_glr_PCovC_Comparison_004.png :class: sphx-glr-single-img .. _sphx_glr_download_examples_pcovc_PCovC_Comparison.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: PCovC_Comparison.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: PCovC_Comparison.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: PCovC_Comparison.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_