Bird
Raised Fist0
ML Pythonml~10 mins

Correlation analysis in ML Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate the Pearson correlation coefficient between two lists.

ML Python
import numpy as np
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
correlation = np.[1](x, y)
print(correlation)
Drag options to blanks, or click blank then click option'
Acorrcoef
Bmean
Csum
Dstd
Attempts:
3 left
💡 Hint
Common Mistakes
Using mean or sum instead of correlation function.
Trying to use standard deviation function which measures spread, not correlation.
2fill in blank
medium

Complete the code to compute the correlation matrix of a pandas DataFrame.

ML Python
import pandas as pd
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
correlation_matrix = df.[1]()
print(correlation_matrix)
Drag options to blanks, or click blank then click option'
Acorr
Bsum
Cmean
Dstd
Attempts:
3 left
💡 Hint
Common Mistakes
Using sum or mean which do not calculate correlation.
Using std which calculates standard deviation, not correlation.
3fill in blank
hard

Fix the error in the code to correctly calculate the correlation between two numpy arrays.

ML Python
import numpy as np
x = np.array([1, 2, 3, 4])
y = np.array([4, 3, 2, 1])
correlation = np.corrcoef(x, [1])
print(correlation[0, 1])
Drag options to blanks, or click blank then click option'
Anp.mean
Bnp.array
Cx
Dy
Attempts:
3 left
💡 Hint
Common Mistakes
Passing the same array twice.
Passing a function or wrong variable instead of the second array.
4fill in blank
hard

Fill both blanks to create a dictionary of word lengths for words longer than 3 characters.

ML Python
words = ['cat', 'house', 'tree', 'a', 'dog']
lengths = {word: [1] for word in words if len(word) [2] 3}
print(lengths)
Drag options to blanks, or click blank then click option'
Alen(word)
B>
C<
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using the word itself instead of its length.
Using wrong comparison operator like '<' instead of '>'.
5fill in blank
hard

Fill all three blanks to create a dictionary of uppercase words and their lengths for words longer than 2 characters.

ML Python
words = ['apple', 'be', 'cat', 'dog']
result = { [1]: [2] for word in words if len(word) [3] 2 }
print(result)
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
C>
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using original word as key instead of uppercase.
Using wrong comparison operator or no filter.
Using word instead of length for values.

Practice

(1/5)
1. What does a correlation value of 0 indicate between two variables?
easy
A. There is no linear relationship between the variables
B. The variables move exactly together in the same direction
C. One variable increases while the other decreases perfectly
D. The variables have a perfect nonlinear relationship

Solution

  1. Step 1: Understand correlation meaning

    Correlation measures linear relationship strength between two variables.
  2. Step 2: Interpret zero correlation

    A correlation of 0 means no linear relationship exists between the variables.
  3. Final Answer:

    There is no linear relationship between the variables -> Option A
  4. Quick Check:

    Correlation = 0 means no linear link [OK]
Hint: Zero correlation means no linear link between variables [OK]
Common Mistakes:
  • Thinking zero means variables are unrelated in any way
  • Confusing zero correlation with negative correlation
  • Assuming zero means perfect nonlinear relationship
2. Which of the following is the correct Python syntax to calculate Pearson correlation between two lists x and y using NumPy?
easy
A. np.correlation(x, y)
B. np.corrcoef(x, y)[0, 1]
C. np.pearson(x, y)
D. np.corr(x, y)

Solution

  1. Step 1: Recall NumPy correlation function

    NumPy uses np.corrcoef() to compute correlation matrix.
  2. Step 2: Extract Pearson correlation value

    The correlation between x and y is at position [0, 1] in the matrix.
  3. Final Answer:

    np.corrcoef(x, y)[0, 1] -> Option B
  4. Quick Check:

    Use np.corrcoef and index [0,1] for Pearson [OK]
Hint: Use np.corrcoef(x, y)[0,1] to get Pearson correlation [OK]
Common Mistakes:
  • Using non-existent functions like np.correlation or np.pearson
  • Forgetting to index the correlation matrix
  • Confusing correlation with covariance functions
3. Given the code below, what is the output?
import numpy as np
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
correlation = np.corrcoef(x, y)[0, 1]
print("{:.2f}".format(round(correlation, 2)))
medium
A. 1.00
B. -1.00
C. 0.00
D. 0.50

Solution

  1. Step 1: Analyze the data relationship

    List y is exactly twice x, so they have a perfect positive linear relationship.
  2. Step 2: Calculate correlation

    Perfect positive linear relationship means correlation = 1.0.
  3. Final Answer:

    1.00 -> Option A
  4. Quick Check:

    Perfect positive linear relation = 1.00 [OK]
Hint: Perfect multiples have correlation 1.00 [OK]
Common Mistakes:
  • Thinking correlation is 0 because values differ
  • Confusing correlation with covariance magnitude
  • Rounding errors causing wrong output
4. Identify the error in the following code snippet for calculating correlation:
import numpy as np
x = [1, 2, 3]
y = [4, 5]
correlation = np.corrcoef(x, y)[0, 1]
print(correlation)
medium
A. Missing import statement for correlation function
B. np.corrcoef requires pandas Series, not lists
C. Lists x and y have different lengths causing an error
D. Indexing [0, 1] is incorrect for correlation matrix

Solution

  1. Step 1: Check input data lengths

    Lists x and y have lengths 3 and 2, which must be equal for correlation.
  2. Step 2: Understand np.corrcoef requirements

    np.corrcoef requires inputs of equal length arrays to compute correlation matrix.
  3. Final Answer:

    Lists x and y have different lengths causing an error -> Option C
  4. Quick Check:

    Input arrays must be same length [OK]
Hint: Check input lengths match before correlation [OK]
Common Mistakes:
  • Assuming np.corrcoef works with unequal length lists
  • Thinking pandas Series are required for np.corrcoef
  • Misindexing the correlation matrix
5. You have two features: hours_studied and exam_score. You calculate their correlation and get -0.85. What does this imply and what should you consider next?
hard
A. Perfect negative nonlinear relationship; use polynomial regression
B. Strong positive linear relationship; increase study hours to improve score
C. No relationship; ignore this feature in modeling
D. Strong negative linear relationship; consider if data or labels are reversed

Solution

  1. Step 1: Interpret correlation sign and magnitude

    A correlation of -0.85 means a strong negative linear relationship between the two features.
  2. Step 2: Consider real-world meaning

    Since more study usually means higher scores, a strong negative correlation suggests possible data issues or reversed labels.
  3. Final Answer:

    Strong negative linear relationship; consider if data or labels are reversed -> Option D
  4. Quick Check:

    Negative strong correlation may indicate reversed data [OK]
Hint: Strong negative correlation may mean reversed data [OK]
Common Mistakes:
  • Assuming negative correlation means no relationship
  • Ignoring domain knowledge about expected relationships
  • Confusing negative linear with nonlinear relationships
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