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.