Skip to learning content

DATA SCIENCE PYTHON PLAYGROUND

Machine Learning · Learn / Refresh

← PCA lessonsQUESTIONS · MODELS · EVIDENCE
New axes · ML-P01 · 12–18 MIN

New coordinates, not selected original columns

Distinguish PCA from feature selection and clustering.

Exercises within this concept

  1. FollowRead and run the PythonCurrent exercise
  2. ChangeExplain the Python result
  3. TransferExplain the Python result

Understand the idea

PCA rotates numeric measurements into component axes and can retain fewer axes. Components combine original features; they are not selected original columns or cluster assignments.

Distinguish PCA from feature selection and clustering.PC1PC2Variance by componentNew axes combine measurements.
Schematic · Distinguish PCA from feature selection and clustering.Scroll the diagram horizontally if needed.

Python skill: Call fit_transform() to learn a representation and return coordinates in the new feature space.

Meet the syntax

StandardScaler().fit_transform(X)
PCA(n_components=2)
pca.fit_transform(scaled)
StandardScaler().fit_transform(X)
Learns a common scale from the declared discovery population and transforms it.
PCA(n_components=2)
Requests two new axes, each combining the original measurements.
pca.fit_transform(scaled)
Learns these axes and returns two coordinates per input row; it does not select two original columns.

Follow the code

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

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
X = df.select_dtypes(include='number')
scaled = StandardScaler().fit_transform(X)
pca = PCA(n_components=2)
answer = pca.fit_transform(scaled)

This practice: Read and run the Python. Next: Change · New coordinates, not selected original columns.

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

Your task · Follow

Standardise the supplied measurements, create two PCA coordinates for every row, and store the coordinates in answer.

Hint 1 — Think

Call fit_transform() to learn a representation and return coordinates in the new feature space.

Hint 2 — Tools

Use StandardScaler().fit_transform(X), PCA(n_components=2), pca.fit_transform(scaled). Read the visible syntax meanings before editing.

Hint 3 — Approach

Standardise the supplied measurements, create two PCA coordinates for every row, and store the coordinates in answer. Keep the supplied row order and inspect the named output after running.

Explained solution
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
X = df.select_dtypes(include='number')
scaled = StandardScaler().fit_transform(X)
pca = PCA(n_components=2)
answer = pca.fit_transform(scaled)

The output has one row per observation and two new coordinate columns. Each coordinate combines original measurements. This first two-axis picture introduces the API; later lessons use explained variance to decide how many components to retain.

Helpful prior knowledge: Distance depends on scale and context 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

Standardise the supplied measurements, create two PCA coordinates for every row, and store the coordinates 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.