Machine Learning - Dimensionality Reduction
PCA
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
pipe = make_pipeline(StandardScaler(), PCA(n_components=2, random_state=42))
X2 = pipe.fit_transform(X)
print({"explained_var_ratio": pipe.named_steps["pca"].explained_variance_ratio_.tolist()})
t-SNE (visualization)
from sklearn.manifold import TSNE
X_emb = TSNE(n_components=2, perplexity=30, learning_rate=200, random_state=42).fit_transform(X)
print(X_emb[:5].tolist())