Skip to content

Commit 52b88f3

Browse files
committed
Pushing the docs to dev/ for branch: main, commit 31439d22f12703c90d8809d08dd35629d5ae3cbf
1 parent 26c4f06 commit 52b88f3

File tree

1,556 files changed

+6545
-6037
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,556 files changed

+6545
-6037
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/1e0968da80ca868bbdf21c1d0547f68c/plot_lle_digits.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@
8787
},
8888
"outputs": [],
8989
"source": [
90-
"from sklearn.decomposition import TruncatedSVD\nfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nfrom sklearn.ensemble import RandomTreesEmbedding\nfrom sklearn.manifold import (\n MDS,\n TSNE,\n Isomap,\n LocallyLinearEmbedding,\n SpectralEmbedding,\n)\nfrom sklearn.neighbors import NeighborhoodComponentsAnalysis\nfrom sklearn.pipeline import make_pipeline\nfrom sklearn.random_projection import SparseRandomProjection\n\nembeddings = {\n \"Random projection embedding\": SparseRandomProjection(\n n_components=2, random_state=42\n ),\n \"Truncated SVD embedding\": TruncatedSVD(n_components=2),\n \"Linear Discriminant Analysis embedding\": LinearDiscriminantAnalysis(\n n_components=2\n ),\n \"Isomap embedding\": Isomap(n_neighbors=n_neighbors, n_components=2),\n \"Standard LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"standard\"\n ),\n \"Modified LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"modified\"\n ),\n \"Hessian LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"hessian\"\n ),\n \"LTSA LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"ltsa\"\n ),\n \"MDS embedding\": MDS(n_components=2, n_init=1, max_iter=120, n_jobs=2),\n \"Random Trees embedding\": make_pipeline(\n RandomTreesEmbedding(n_estimators=200, max_depth=5, random_state=0),\n TruncatedSVD(n_components=2),\n ),\n \"Spectral embedding\": SpectralEmbedding(\n n_components=2, random_state=0, eigen_solver=\"arpack\"\n ),\n \"t-SNE embedding\": TSNE(\n n_components=2,\n max_iter=500,\n n_iter_without_progress=150,\n n_jobs=2,\n random_state=0,\n ),\n \"NCA embedding\": NeighborhoodComponentsAnalysis(\n n_components=2, init=\"pca\", random_state=0\n ),\n}"
90+
"from sklearn.decomposition import TruncatedSVD\nfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysis\nfrom sklearn.ensemble import RandomTreesEmbedding\nfrom sklearn.manifold import (\n MDS,\n TSNE,\n Isomap,\n LocallyLinearEmbedding,\n SpectralEmbedding,\n)\nfrom sklearn.neighbors import NeighborhoodComponentsAnalysis\nfrom sklearn.pipeline import make_pipeline\nfrom sklearn.random_projection import SparseRandomProjection\n\nembeddings = {\n \"Random projection embedding\": SparseRandomProjection(\n n_components=2, random_state=42\n ),\n \"Truncated SVD embedding\": TruncatedSVD(n_components=2),\n \"Linear Discriminant Analysis embedding\": LinearDiscriminantAnalysis(\n n_components=2\n ),\n \"Isomap embedding\": Isomap(n_neighbors=n_neighbors, n_components=2),\n \"Standard LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"standard\"\n ),\n \"Modified LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"modified\"\n ),\n \"Hessian LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"hessian\"\n ),\n \"LTSA LLE embedding\": LocallyLinearEmbedding(\n n_neighbors=n_neighbors, n_components=2, method=\"ltsa\"\n ),\n \"MDS embedding\": MDS(n_components=2, n_init=1, max_iter=120, eps=1e-6),\n \"Random Trees embedding\": make_pipeline(\n RandomTreesEmbedding(n_estimators=200, max_depth=5, random_state=0),\n TruncatedSVD(n_components=2),\n ),\n \"Spectral embedding\": SpectralEmbedding(\n n_components=2, random_state=0, eigen_solver=\"arpack\"\n ),\n \"t-SNE embedding\": TSNE(\n n_components=2,\n max_iter=500,\n n_iter_without_progress=150,\n n_jobs=2,\n random_state=0,\n ),\n \"NCA embedding\": NeighborhoodComponentsAnalysis(\n n_components=2, init=\"pca\", random_state=0\n ),\n}"
9191
]
9292
},
9393
{
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/9d97cc4ed755b7f2c7f9311bccc89a00/plot_lle_digits.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def plot_embedding(X, title):
130130
"LTSA LLE embedding": LocallyLinearEmbedding(
131131
n_neighbors=n_neighbors, n_components=2, method="ltsa"
132132
),
133-
"MDS embedding": MDS(n_components=2, n_init=1, max_iter=120, n_jobs=2),
133+
"MDS embedding": MDS(n_components=2, n_init=1, max_iter=120, eps=1e-6),
134134
"Random Trees embedding": make_pipeline(
135135
RandomTreesEmbedding(n_estimators=200, max_depth=5, random_state=0),
136136
TruncatedSVD(n_components=2),
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/a9a5b8f39dd796eae478e4c9c39cd207/plot_mds.ipynb

Lines changed: 110 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"cell_type": "markdown",
55
"metadata": {},
66
"source": [
7-
"\n# Multi-dimensional scaling\n\nAn illustration of the metric and non-metric MDS on generated noisy data.\n\nThe reconstructed points using the metric MDS and non metric MDS are slightly\nshifted to avoid overlapping.\n"
7+
"\n# Multi-dimensional scaling\n\nAn illustration of the metric and non-metric MDS on generated noisy data.\n"
88
]
99
},
1010
{
@@ -15,7 +15,115 @@
1515
},
1616
"outputs": [],
1717
"source": [
18-
"# Authors: The scikit-learn developers\n# SPDX-License-Identifier: BSD-3-Clause\n\nimport numpy as np\nfrom matplotlib import pyplot as plt\nfrom matplotlib.collections import LineCollection\n\nfrom sklearn import manifold\nfrom sklearn.decomposition import PCA\nfrom sklearn.metrics import euclidean_distances\n\n# Generate the data\nEPSILON = np.finfo(np.float32).eps\nn_samples = 20\nrng = np.random.RandomState(seed=3)\nX_true = rng.randint(0, 20, 2 * n_samples).astype(float)\nX_true = X_true.reshape((n_samples, 2))\n\n# Center the data\nX_true -= X_true.mean()\n\n# Compute pairwise Euclidean distances\ndistances = euclidean_distances(X_true)\n\n# Add noise to the distances\nnoise = rng.rand(n_samples, n_samples)\nnoise = noise + noise.T\nnp.fill_diagonal(noise, 0)\ndistances += noise\n\nmds = manifold.MDS(\n n_components=2,\n max_iter=3000,\n eps=1e-9,\n random_state=42,\n dissimilarity=\"precomputed\",\n n_jobs=1,\n)\nX_mds = mds.fit(distances).embedding_\n\nnmds = manifold.MDS(\n n_components=2,\n metric=False,\n max_iter=3000,\n eps=1e-12,\n dissimilarity=\"precomputed\",\n random_state=42,\n n_jobs=1,\n n_init=1,\n)\nX_nmds = nmds.fit_transform(distances)\n\n# Rescale the data\nX_mds *= np.sqrt((X_true**2).sum()) / np.sqrt((X_mds**2).sum())\nX_nmds *= np.sqrt((X_true**2).sum()) / np.sqrt((X_nmds**2).sum())\n\n# Rotate the data\npca = PCA(n_components=2)\nX_true = pca.fit_transform(X_true)\nX_mds = pca.fit_transform(X_mds)\nX_nmds = pca.fit_transform(X_nmds)\n\n# Align the sign of PCs\nfor i in [0, 1]:\n if np.corrcoef(X_mds[:, i], X_true[:, i])[0, 1] < 0:\n X_mds[:, i] *= -1\n if np.corrcoef(X_nmds[:, i], X_true[:, i])[0, 1] < 0:\n X_nmds[:, i] *= -1\n\nfig = plt.figure(1)\nax = plt.axes([0.0, 0.0, 1.0, 1.0])\n\ns = 100\nplt.scatter(X_true[:, 0], X_true[:, 1], color=\"navy\", s=s, lw=0, label=\"True Position\")\nplt.scatter(X_mds[:, 0], X_mds[:, 1], color=\"turquoise\", s=s, lw=0, label=\"MDS\")\nplt.scatter(X_nmds[:, 0], X_nmds[:, 1], color=\"darkorange\", s=s, lw=0, label=\"NMDS\")\nplt.legend(scatterpoints=1, loc=\"best\", shadow=False)\n\n# Plot the edges\nstart_idx, end_idx = X_mds.nonzero()\n# a sequence of (*line0*, *line1*, *line2*), where::\n# linen = (x0, y0), (x1, y1), ... (xm, ym)\nsegments = [\n [X_true[i, :], X_true[j, :]] for i in range(len(X_true)) for j in range(len(X_true))\n]\nedges = distances.max() / (distances + EPSILON) * 100\nnp.fill_diagonal(edges, 0)\nedges = np.abs(edges)\nlc = LineCollection(\n segments, zorder=0, cmap=plt.cm.Blues, norm=plt.Normalize(0, edges.max())\n)\nlc.set_array(edges.flatten())\nlc.set_linewidths(np.full(len(segments), 0.5))\nax.add_collection(lc)\n\nplt.show()"
18+
"# Authors: The scikit-learn developers\n# SPDX-License-Identifier: BSD-3-Clause"
19+
]
20+
},
21+
{
22+
"cell_type": "markdown",
23+
"metadata": {},
24+
"source": [
25+
"## Dataset preparation\n\nWe start by uniformly generating 20 points in a 2D space.\n\n"
26+
]
27+
},
28+
{
29+
"cell_type": "code",
30+
"execution_count": null,
31+
"metadata": {
32+
"collapsed": false
33+
},
34+
"outputs": [],
35+
"source": [
36+
"import numpy as np\nfrom matplotlib import pyplot as plt\nfrom matplotlib.collections import LineCollection\n\nfrom sklearn import manifold\nfrom sklearn.decomposition import PCA\nfrom sklearn.metrics import euclidean_distances\n\n# Generate the data\nEPSILON = np.finfo(np.float32).eps\nn_samples = 20\nrng = np.random.RandomState(seed=3)\nX_true = rng.randint(0, 20, 2 * n_samples).astype(float)\nX_true = X_true.reshape((n_samples, 2))\n\n# Center the data\nX_true -= X_true.mean()"
37+
]
38+
},
39+
{
40+
"cell_type": "markdown",
41+
"metadata": {},
42+
"source": [
43+
"Now we compute pairwise distances between all points and add\na small amount of noise to the distance matrix. We make sure\nto keep the noisy distance matrix symmetric.\n\n"
44+
]
45+
},
46+
{
47+
"cell_type": "code",
48+
"execution_count": null,
49+
"metadata": {
50+
"collapsed": false
51+
},
52+
"outputs": [],
53+
"source": [
54+
"# Compute pairwise Euclidean distances\ndistances = euclidean_distances(X_true)\n\n# Add noise to the distances\nnoise = rng.rand(n_samples, n_samples)\nnoise = noise + noise.T\nnp.fill_diagonal(noise, 0)\ndistances += noise"
55+
]
56+
},
57+
{
58+
"cell_type": "markdown",
59+
"metadata": {},
60+
"source": [
61+
"Here we compute metric and non-metric MDS of the noisy distance matrix.\n\n"
62+
]
63+
},
64+
{
65+
"cell_type": "code",
66+
"execution_count": null,
67+
"metadata": {
68+
"collapsed": false
69+
},
70+
"outputs": [],
71+
"source": [
72+
"mds = manifold.MDS(\n n_components=2,\n max_iter=3000,\n eps=1e-9,\n n_init=1,\n random_state=42,\n dissimilarity=\"precomputed\",\n n_jobs=1,\n)\nX_mds = mds.fit(distances).embedding_\n\nnmds = manifold.MDS(\n n_components=2,\n metric=False,\n max_iter=3000,\n eps=1e-12,\n dissimilarity=\"precomputed\",\n random_state=42,\n n_jobs=1,\n n_init=1,\n)\nX_nmds = nmds.fit_transform(distances)"
73+
]
74+
},
75+
{
76+
"cell_type": "markdown",
77+
"metadata": {},
78+
"source": [
79+
"Rescaling the non-metric MDS solution to match the spread of the original data.\n\n"
80+
]
81+
},
82+
{
83+
"cell_type": "code",
84+
"execution_count": null,
85+
"metadata": {
86+
"collapsed": false
87+
},
88+
"outputs": [],
89+
"source": [
90+
"X_nmds *= np.sqrt((X_true**2).sum()) / np.sqrt((X_nmds**2).sum())"
91+
]
92+
},
93+
{
94+
"cell_type": "markdown",
95+
"metadata": {},
96+
"source": [
97+
"To make the visual comparisons easier, we rotate the original data and both MDS\nsolutions to their PCA axes. And flip horizontal and vertical MDS axes, if needed,\nto match the original data orientation.\n\n"
98+
]
99+
},
100+
{
101+
"cell_type": "code",
102+
"execution_count": null,
103+
"metadata": {
104+
"collapsed": false
105+
},
106+
"outputs": [],
107+
"source": [
108+
"# Rotate the data\npca = PCA(n_components=2)\nX_true = pca.fit_transform(X_true)\nX_mds = pca.fit_transform(X_mds)\nX_nmds = pca.fit_transform(X_nmds)\n\n# Align the sign of PCs\nfor i in [0, 1]:\n if np.corrcoef(X_mds[:, i], X_true[:, i])[0, 1] < 0:\n X_mds[:, i] *= -1\n if np.corrcoef(X_nmds[:, i], X_true[:, i])[0, 1] < 0:\n X_nmds[:, i] *= -1"
109+
]
110+
},
111+
{
112+
"cell_type": "markdown",
113+
"metadata": {},
114+
"source": [
115+
"Finally, we plot the original data and both MDS reconstructions.\n\n"
116+
]
117+
},
118+
{
119+
"cell_type": "code",
120+
"execution_count": null,
121+
"metadata": {
122+
"collapsed": false
123+
},
124+
"outputs": [],
125+
"source": [
126+
"fig = plt.figure(1)\nax = plt.axes([0.0, 0.0, 1.0, 1.0])\n\ns = 100\nplt.scatter(X_true[:, 0], X_true[:, 1], color=\"navy\", s=s, lw=0, label=\"True Position\")\nplt.scatter(X_mds[:, 0], X_mds[:, 1], color=\"turquoise\", s=s, lw=0, label=\"MDS\")\nplt.scatter(X_nmds[:, 0], X_nmds[:, 1], color=\"darkorange\", s=s, lw=0, label=\"NMDS\")\nplt.legend(scatterpoints=1, loc=\"best\", shadow=False)\n\n# Plot the edges\nstart_idx, end_idx = X_mds.nonzero()\n# a sequence of (*line0*, *line1*, *line2*), where::\n# linen = (x0, y0), (x1, y1), ... (xm, ym)\nsegments = [\n [X_true[i, :], X_true[j, :]] for i in range(len(X_true)) for j in range(len(X_true))\n]\nedges = distances.max() / (distances + EPSILON) * 100\nnp.fill_diagonal(edges, 0)\nedges = np.abs(edges)\nlc = LineCollection(\n segments, zorder=0, cmap=plt.cm.Blues, norm=plt.Normalize(0, edges.max())\n)\nlc.set_array(edges.flatten())\nlc.set_linewidths(np.full(len(segments), 0.5))\nax.add_collection(lc)\n\nplt.show()"
19127
]
20128
}
21129
],
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/c8db473878b6afea8e75e36dc828f109/plot_compare_methods.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@
134134
},
135135
"outputs": [],
136136
"source": [
137-
"md_scaling = manifold.MDS(\n n_components=n_components,\n max_iter=50,\n n_init=4,\n random_state=0,\n normalized_stress=False,\n)\nS_scaling = md_scaling.fit_transform(S_points)\n\nplot_2d(S_scaling, S_color, \"Multidimensional scaling\")"
137+
"md_scaling = manifold.MDS(\n n_components=n_components,\n max_iter=50,\n n_init=1,\n random_state=0,\n normalized_stress=False,\n)\nS_scaling = md_scaling.fit_transform(S_points)\n\nplot_2d(S_scaling, S_color, \"Multidimensional scaling\")"
138138
]
139139
},
140140
{
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/cda53b33015268619bc212d32b7000b9/plot_compare_methods.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def add_2d_scatter(ax, points, points_color, title=None):
166166
md_scaling = manifold.MDS(
167167
n_components=n_components,
168168
max_iter=50,
169-
n_init=4,
169+
n_init=1,
170170
random_state=0,
171171
normalized_stress=False,
172172
)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/d64ed0728005aaeba058d3ccec909e73/plot_mds.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,17 @@
55
66
An illustration of the metric and non-metric MDS on generated noisy data.
77
8-
The reconstructed points using the metric MDS and non metric MDS are slightly
9-
shifted to avoid overlapping.
10-
118
"""
129

1310
# Authors: The scikit-learn developers
1411
# SPDX-License-Identifier: BSD-3-Clause
1512

13+
# %%
14+
# Dataset preparation
15+
# -------------------
16+
#
17+
# We start by uniformly generating 20 points in a 2D space.
18+
1619
import numpy as np
1720
from matplotlib import pyplot as plt
1821
from matplotlib.collections import LineCollection
@@ -31,6 +34,11 @@
3134
# Center the data
3235
X_true -= X_true.mean()
3336

37+
# %%
38+
# Now we compute pairwise distances between all points and add
39+
# a small amount of noise to the distance matrix. We make sure
40+
# to keep the noisy distance matrix symmetric.
41+
3442
# Compute pairwise Euclidean distances
3543
distances = euclidean_distances(X_true)
3644

@@ -40,10 +48,14 @@
4048
np.fill_diagonal(noise, 0)
4149
distances += noise
4250

51+
# %%
52+
# Here we compute metric and non-metric MDS of the noisy distance matrix.
53+
4354
mds = manifold.MDS(
4455
n_components=2,
4556
max_iter=3000,
4657
eps=1e-9,
58+
n_init=1,
4759
random_state=42,
4860
dissimilarity="precomputed",
4961
n_jobs=1,
@@ -62,10 +74,16 @@
6274
)
6375
X_nmds = nmds.fit_transform(distances)
6476

65-
# Rescale the data
66-
X_mds *= np.sqrt((X_true**2).sum()) / np.sqrt((X_mds**2).sum())
77+
# %%
78+
# Rescaling the non-metric MDS solution to match the spread of the original data.
79+
6780
X_nmds *= np.sqrt((X_true**2).sum()) / np.sqrt((X_nmds**2).sum())
6881

82+
# %%
83+
# To make the visual comparisons easier, we rotate the original data and both MDS
84+
# solutions to their PCA axes. And flip horizontal and vertical MDS axes, if needed,
85+
# to match the original data orientation.
86+
6987
# Rotate the data
7088
pca = PCA(n_components=2)
7189
X_true = pca.fit_transform(X_true)
@@ -79,6 +97,9 @@
7997
if np.corrcoef(X_nmds[:, i], X_true[:, i])[0, 1] < 0:
8098
X_nmds[:, i] *= -1
8199

100+
# %%
101+
# Finally, we plot the original data and both MDS reconstructions.
102+
82103
fig = plt.figure(1)
83104
ax = plt.axes([0.0, 0.0, 1.0, 1.0])
84105

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

dev/_downloads/scikit-learn-docs.zip

874 Bytes
Binary file not shown.
-751 Bytes

0 commit comments

Comments
 (0)