Note
Click :ref:`here <sphx_glr_download_auto_examples_manifold_plot_swissroll.py>` to download the full example code or to run this example in your browser via Binder
.. rst-class:: sphx-glr-example-title
An illustration of Swiss Roll reduction with locally linear embedding
.. rst-class:: sphx-glr-script-out
Out:
.. code-block:: none
Computing LLE embedding
Done. Reconstruction error: 1.27445e-07
# Author: Fabian Pedregosa -- <[email protected]>
# License: BSD 3 clause (C) INRIA 2011
print(__doc__)
import matplotlib.pyplot as plt
# This import is needed to modify the way figure behaves
from mpl_toolkits.mplot3d import Axes3D
Axes3D
#----------------------------------------------------------------------
# Locally linear embedding of the swiss roll
from sklearn import manifold, datasets
X, color = datasets.make_swiss_roll(n_samples=1500)
print("Computing LLE embedding")
X_r, err = manifold.locally_linear_embedding(X, n_neighbors=12,
n_components=2)
print("Done. Reconstruction error: %g" % err)
#----------------------------------------------------------------------
# Plot result
fig = plt.figure()
ax = fig.add_subplot(211, projection='3d')
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=color, cmap=plt.cm.Spectral)
ax.set_title("Original data")
ax = fig.add_subplot(212)
ax.scatter(X_r[:, 0], X_r[:, 1], c=color, cmap=plt.cm.Spectral)
plt.axis('tight')
plt.xticks([]), plt.yticks([])
plt.title('Projected data')
plt.show()
.. rst-class:: sphx-glr-timing
**Total running time of the script:** ( 0 minutes 0.723 seconds)
Estimated memory usage: 9 MB
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-example
.. container:: binder-badge
.. image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/scikit-learn/scikit-learn/0.22.X?urlpath=lab/tree/notebooks/auto_examples/manifold/plot_swissroll.ipynb
:width: 150 px
.. container:: sphx-glr-download
:download:`Download Python source code: plot_swissroll.py <plot_swissroll.py>`
.. container:: sphx-glr-download
:download:`Download Jupyter notebook: plot_swissroll.ipynb <plot_swissroll.ipynb>`
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_