Bird
Raised Fist0
MATLABdata~5 mins

Principal Component Analysis (PCA) in MATLAB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main goal of Principal Component Analysis (PCA)?
PCA aims to reduce the number of variables in data by transforming them into a smaller set of new variables called principal components, which capture most of the original data's variation.
Click to reveal answer
beginner
In PCA, what does the first principal component represent?
The first principal component is the direction in the data with the greatest variance, meaning it captures the most information from the original dataset.
Click to reveal answer
beginner
Which MATLAB function is commonly used to perform PCA?
The MATLAB function pca() is used to perform Principal Component Analysis on a dataset.
Click to reveal answer
intermediate
Why do we often center data before applying PCA?
Centering data (subtracting the mean) ensures that PCA focuses on variance around the mean, making the principal components meaningful and not biased by the data's original location.
Click to reveal answer
intermediate
What does the explained variance ratio tell us in PCA?
The explained variance ratio shows how much of the total data variance each principal component accounts for, helping decide how many components to keep.
Click to reveal answer
What is the first step before applying PCA in MATLAB?
AAdd random noise to the data
BNormalize the data to range 0-1
CSort the data in ascending order
DCenter the data by subtracting the mean
Which MATLAB function returns the principal components of a dataset?
Apca()
Bsvd()
Cfft()
Dmean()
What does a high explained variance ratio for the first principal component indicate?
AData has no variation
BMost data variation is captured by the first component
CThe first component is not important
DData is uniformly distributed
How many principal components can PCA produce from a dataset with 5 variables?
A3
B1
C5
D10
What is the benefit of reducing dimensions with PCA?
ASimplifies data while keeping important information
BIncreases data size
CRemoves all variation
DRandomizes data
Explain the process of performing PCA on a dataset in MATLAB.
Think about how you prepare data and what MATLAB function you use.
You got /4 concepts.
    Describe why PCA is useful in data analysis and what information the principal components provide.
    Consider how PCA helps with large datasets.
    You got /4 concepts.

      Practice

      (1/5)
      1.

      What is the main purpose of Principal Component Analysis (PCA) in MATLAB?

      easy
      A. To reduce the number of variables by finding main directions of data
      B. To sort data in ascending order
      C. To calculate the sum of all data points
      D. To generate random numbers for data simulation

      Solution

      1. Step 1: Understand PCA goal

        PCA finds new axes (principal components) that capture most data variation.
      2. Step 2: Identify main purpose

        It reduces data dimensions by focusing on important directions, simplifying analysis.
      3. Final Answer:

        To reduce the number of variables by finding main directions of data -> Option A
      4. Quick Check:

        PCA = Dimensionality reduction [OK]
      Hint: PCA simplifies data by finding main directions [OK]
      Common Mistakes:
      • Thinking PCA sorts data
      • Confusing PCA with summing data
      • Assuming PCA generates random data
      2.

      Which MATLAB command correctly performs PCA on a data matrix X?

      easy
      A. score = pca(X, 'score');
      B. pca = X.coeff();
      C. [coeff, score, latent] = pca(X);
      D. coeff = pca(X, 'coeff');

      Solution

      1. Step 1: Recall MATLAB PCA syntax

        The function pca returns coefficients, scores, and variances as outputs.
      2. Step 2: Match correct syntax

        Only [coeff, score, latent] = pca(X); correctly calls PCA and stores outputs.
      3. Final Answer:

        [coeff, score, latent] = pca(X); -> Option C
      4. Quick Check:

        Correct PCA syntax = [coeff, score, latent] = pca(X); [OK]
      Hint: Use brackets to capture multiple PCA outputs [OK]
      Common Mistakes:
      • Using dot notation on matrix
      • Passing output names as strings
      • Assigning only one output without brackets
      3.

      Given the MATLAB code below, what is the size of score if X is a 100x5 matrix?

       [coeff, score, latent] = pca(X); 
      medium
      A. 5x5
      B. 100x5
      C. 100x100
      D. 5x100

      Solution

      1. Step 1: Understand PCA output sizes

        score contains transformed data points in principal component space, same rows as X.
      2. Step 2: Match dimensions

        Since X is 100x5, score is 100x5 (100 samples, 5 components).
      3. Final Answer:

        100x5 -> Option B
      4. Quick Check:

        score size = samples x components = 100x5 [OK]
      Hint: Score matches rows of X and number of components [OK]
      Common Mistakes:
      • Confusing score size with coeff size
      • Assuming score is square matrix
      • Swapping rows and columns
      4.

      Identify the error in this MATLAB PCA code snippet:

       X = rand(50,3);
      [coeff, score, latent] = pca(X);
      disp(score(1,4));
      medium
      A. Indexing score at column 4 causes an error
      B. Missing semicolon after rand function
      C. Incorrect function name, should be pca_analysis
      D. Matrix X size is invalid for PCA

      Solution

      1. Step 1: Check size of PCA outputs

        Input X has 3 columns, so score has 3 columns (components).
      2. Step 2: Identify indexing error

        Accessing score(1,4) tries to get 4th column which does not exist, causing an error.
      3. Final Answer:

        Indexing score at column 4 causes an error -> Option A
      4. Quick Check:

        score columns = 3, index 4 invalid [OK]
      Hint: Check matrix size before indexing columns [OK]
      Common Mistakes:
      • Assuming more components than input columns
      • Ignoring MATLAB indexing errors
      • Thinking semicolon omission causes error here
      5.

      You want to reduce a dataset X (200x10) to 2 principal components using MATLAB PCA. Which code correctly achieves this?

       % Options:
      A) [coeff, score] = pca(X, 'NumComponents', 2);
      B) [coeff, score] = pca(X, 'NumComponents', 2); score = score(:,3:4);
      C) [coeff, score] = pca(X); score = score(:,11:12);
      D) [coeff, score] = pca(X, 'Components', 2);
      hard
      A. [coeff, score] = pca(X, 'Components', 2);
      B. [coeff, score] = pca(X, 'NumComponents', 2); score = score(:,3:4);
      C. [coeff, score] = pca(X); score = score(:,11:12);
      D. [coeff, score] = pca(X, 'NumComponents', 2);

      Solution

      1. Step 1: Understand PCA dimension reduction parameter

        MATLAB's pca accepts 'NumComponents' to limit output components.
      2. Step 2: Identify correct usage

        [coeff, score] = pca(X, 'NumComponents', 2); uses correct parameter 'NumComponents', 2 to get 2 components directly.
      3. Step 3: Check other options

        B: [coeff, score] = pca(X, 'NumComponents', 2); score = score(:,3:4); tries to slice non-existent columns 3-4; C: [coeff, score] = pca(X); score = score(:,11:12); tries to slice non-existent columns 11-12; D: [coeff, score] = pca(X, 'Components', 2); uses invalid parameter.
      4. Final Answer:

        [coeff, score] = pca(X, 'NumComponents', 2); -> Option D
      5. Quick Check:

        Use 'NumComponents' to limit PCA output [OK]
      Hint: Use 'NumComponents' to get desired PCA components [OK]
      Common Mistakes:
      • Using wrong parameter name 'Components'
      • Using invalid slice indices on PCA score
      • Assuming PCA auto-limits components without parameter
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard