Note
Go to the end to download the full example code.
Entropic Wasserstein Component Analysis
Note
Example added in release: 0.9.1.
This example illustrates the use of EWCA as proposed in [52].
[52] Collas, A., Vayer, T., Flamary, F., & Breloy, A. (2023). Entropic Wasserstein Component Analysis.
# Author: Antoine Collas <antoine.collas@inria.fr>
#
# License: MIT License
# sphinx_gallery_thumbnail_number = 2
import numpy as np
import matplotlib.pylab as pl
from ot.dr import ewca
from sklearn.datasets import make_blobs
from matplotlib import ticker as mticker
import matplotlib.patches as patches
import matplotlib
Generate data
Plot data
fig = pl.figure(figsize=(4, 4))
cmap = matplotlib.colormaps.get_cmap("tab10")
pl.scatter(
X[: n_samples // 2, 0],
X[: n_samples // 2, 1],
color=[cmap(y[i] + 1) for i in range(n_samples // 2)],
alpha=0.4,
label="Class 1",
zorder=30,
s=50,
)
pl.scatter(
X[n_samples // 2 :, 0],
X[n_samples // 2 :, 1],
color=[cmap(y[i] + 1) for i in range(n_samples // 2, n_samples)],
alpha=0.4,
label="Class 2",
zorder=30,
s=50,
)
x_y_lim = 2.5
fs = 15
pl.xlim(-x_y_lim, x_y_lim)
pl.xticks([])
pl.ylim(-x_y_lim, x_y_lim)
pl.yticks([])
pl.legend(fontsize=fs)
pl.title("Data", fontsize=fs)
pl.tight_layout()