← retour aux snippets

sklearn: PCA et t-SNE

Réduction dimensionnelle linéaire et non linéaire.

python ml #sklearn#pca#tsne

objectif

Réduction dimensionnelle linéaire et non linéaire.

code minimal

from sklearn.decomposition import PCA
from sklearn.manifold import TSNE
from sklearn.datasets import load_iris
X, _ = load_iris(return_X_y=True)
Zp = PCA(n_components=2).fit_transform(X)
Zt = TSNE(n_components=2, init="random", learning_rate="auto").fit_transform(X)
print(Zp.shape, Zt.shape)

utilisation

from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
X, _ = load_iris(return_X_y=True)
print(PCA(n_components=2).fit(X).explained_variance_ratio_.shape[0])

variante(s) utile(s)

from sklearn.manifold import TSNE
from sklearn.datasets import load_iris
X, _ = load_iris(return_X_y=True)
print(TSNE(n_components=2).fit_transform(X).shape[1])

notes

  • Standardiser avant PCA; t-SNE sensible aux hyperparamètres.