Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Pca

Transformer sklearn-compatible 🔬 Decomposition

PCA — Principal Component Analysis via truncated SVD. / PCA — Analyse en Composantes Principales via SVD tronquée.

⚡ Rust-native ✓ sklearn parity
Quick start — Python
import seraplot as sp, numpy as np
X = np.random.randn(300, 10)
pca = sp.PCA(n_components=3)
pca.fit(X)
Xt = pca.transform(X)
print(Xt.shape, pca.explained_variance_ratio_)
💡
EN — Drop-in replacement: sp.Pca has the same API as sklearn.
FR — Remplacement direct : même API que sklearn, changez l'import.

API Reference

JSON function name

ml_pca — aliases: pca

Python class
sp.Pca(n_components=2)
Constructor Parameters
ParameterTypeDefaultDescription
n_componentsint2Number of principal components.
Returns

JSON with transformed (n×k matrix), explained_variance_ratio.

Algorithm

$$X_{\text{proj}} = X W_k, \quad W_k = \text{top-}k\text{ right singular vectors of } \tilde{X}$$

Example
import seraplot as sp, numpy as np
X = np.random.randn(300, 10)
pca = sp.PCA(n_components=3)
pca.fit(X)
Xt = pca.transform(X)
print(Xt.shape, pca.explained_variance_ratio_)

Référence API

Nom de fonction JSON

ml_pca — alias : pca

Classe Python
sp.Pca(n_components=2)
Paramètres du constructeur
ParamètreTypeDéfautDescription
n_componentsint2Nombre de composantes principales.
Retourne

JSON avec transformed (matrice n×k), explained_variance_ratio.

Algorithme

$$X_{\text{proj}} = X W_k, \quad W_k = k\text{ premiers vecteurs singuliers droits de } \tilde{X}$$

Exemple
import seraplot as sp, numpy as np
X = np.random.randn(300, 10)
pca = sp.PCA(n_components=3)
pca.fit(X)
Xt = pca.transform(X)
print(Xt.shape, pca.explained_variance_ratio_)

TruncatedSvd

Transformer sklearn-compatible 🔬 Decomposition

TruncatedSVD — truncated Singular Value Decomposition (no centering, sparse-friendly). / TruncatedSVD — Décomposition en Valeurs Singulières tronquée (sans centrage, compatible sparse).

⚡ Rust-native ✓ sklearn parity
Quick start — Python
import seraplot as sp, numpy as np
X = np.abs(np.random.randn(200, 15))
svd = sp.TruncatedSVD(n_components=5)
svd.fit(X)
Xt = svd.transform(X)
print(Xt.shape)
💡
EN — Drop-in replacement: sp.TruncatedSvd has the same API as sklearn.
FR — Remplacement direct : même API que sklearn, changez l'import.

API Reference

JSON function name

ml_truncated_svd — aliases: truncated_svd

Python class
sp.TruncatedSvd(n_components=2)
Constructor Parameters
ParameterTypeDefaultDescription
n_componentsint2Number of components to keep.
Returns

JSON with transformed, explained_variance_ratio.

Algorithm

$$X \approx U_k \Sigma_k V_k^T$$

Example
import seraplot as sp, numpy as np
X = np.abs(np.random.randn(200, 15))
svd = sp.TruncatedSVD(n_components=5)
svd.fit(X)
Xt = svd.transform(X)
print(Xt.shape)

Référence API

Nom de fonction JSON

ml_truncated_svd — alias : truncated_svd

Classe Python
sp.TruncatedSvd(n_components=2)
Paramètres du constructeur
ParamètreTypeDéfautDescription
n_componentsint2Nombre de composantes à conserver.
Retourne

JSON avec transformed, explained_variance_ratio.

Algorithme

$$X \approx U_k \Sigma_k V_k^T$$

Exemple
import seraplot as sp, numpy as np
X = np.abs(np.random.randn(200, 15))
svd = sp.TruncatedSVD(n_components=5)
svd.fit(X)
Xt = svd.transform(X)
print(Xt.shape)