Skip to learning content

DATA SCIENCE PYTHON PLAYGROUND

Machine Learning · Learn / Refresh

← PCA lessonsQUESTIONS · MODELS · EVIDENCE
New axes · ML-P02 · 25–40 MIN

Fit a reusable PCA representation

Transform rows with the fitted axes and scale.

Exercises within this concept

  1. FollowRead and run the PythonCurrent exercise
  2. ChangeAdapt the Python
  3. TransferAdapt the Python
  4. ApplyBuild a guided full workflow

Understand the idea

Standardisation changes which variation PCA emphasises. Fit the representation on the intended population; transform new rows using those same fitted statistics and axes.

Transform rows with the fitted axes and scale.PC1PC2Variance by componentNew axes combine measurements.
Schematic · Transform rows with the fitted axes and scale.Scroll the diagram horizontally if needed.

Python skill: Learns component axes from the supplied scaled population.

Meet the syntax

pca = PCA().fit(scaled)
scores = pca.transform(scaled)
PCA().fit(scaled)
Learns component axes from the supplied scaled population.
pca.transform(scaled)
Projects rows onto the already fitted axes without learning new axes.

Follow the code

Use the numbered comments to connect each Python block to the workflow above.

answer=scores

This practice: Read and run the Python. Next: Change · Fit a reusable PCA representation.

Principal component analysis · from idea to workflow

Question: Can fewer axes summarise variation in the measurements?

Mechanism: Orthogonal combinations successively retain as much variance as possible.

Watch for: High variance need not be useful for prediction; unscaled units can dominate.

Interpret or debug · self-review: Read weights and retained variance together. Explain why a component is a combination rather than an original feature, and why PCA is neither a target predictor nor a cluster label.

Guided full workflow: Scale measurements, fit PCA, retain dimensions and interpret component weights →

Independent full workflow: ML-X19. Use the Discovery route to frame a question without a prediction target.

Given data · PCA48

48 observations. Deterministic teaching observations; values illustrate the concept rather than a real population claim. The dataframe df is supplied afresh for each Run.

Reference labels are omitted from this preview and must remain outside fitting.

PCA48 · first 8 prepared rows
abcde
103.04750.862222.715744.61840.906993
89.600244.301520.270340.1253-0.680116
107.50553.952121.156541.70090.818161
109.40654.250122.525244.90951.39291
80.489640.055714.171429.4087-3.27953
86.978244.138718.721337.5997-1.70077
101.27850.461118.118536.0784-0.343557
96.837648.787517.444533.8533-0.987809

Column meanings and units

Column names describe the supplied features and target. Keep the stated units and row identities when making comparisons.

Synthetic data are deliberately small and reproducible. Their patterns illustrate an idea; they are not evidence about a real population.

Input schema
ColumnStored type
afloat64
bfloat64
cfloat64
dfloat64
efloat64
Supplied setup · available if you need to inspect it

This code runs before your editor on every Run. These are the objects your exercise uses.

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
X=df.copy()
scaler=StandardScaler()
scaled=scaler.fit_transform(X)
pca=PCA().fit(scaled)
scores=pca.transform(scaled)

Your task · Follow

Store the supplied PCA component scores for every PCA48 row in answer.

Hint 1 — Think

Scores are each observation’s coordinates along the fitted component axes.

Hint 2 — Tools

The supplied PCA scores array.

Hint 3 — Approach

Return the prepared component-score matrix and inspect its row/column shape.

Explained solution
answer=scores

Rows remain observations while columns become component coordinates rather than original measurements.

Helpful prior knowledge: New coordinates, not selected original columns These links are guidance, not locks.

Sources and API context

Examples run with this Playground’s scikit-learn 1.4.2 / Pyodide 0.26.4 runtime.

Your task · Follow

Store the supplied PCA component scores for every PCA48 row in answer.

answer

Ctrl/⌘+Enter: Run · Tab: indent · Esc then Tab: leave editor

Python loads when you run. Code and results stay in this activity only.

Run your code to inspect its output. Check uses that same run.