Practice
1.
import numpy as np
from sklearn.metrics import confusion_matrix
y_true = [0, 1, 0, 1, 0, 1, 1]
y_pred = [0, 0, 0, 1, 1, 1, 1]
cm = confusion_matrix(y_true, y_pred)
print(cm)What does the code output?easy
Solution
Step 1: Understand confusion matrix structure
The confusion matrix is structured as [[TN, FP], [FN, TP]].Step 2: Calculate values
TN=2 (true negatives), FP=1 (false positives), FN=1 (false negatives), TP=3 (true positives).Final Answer:
Option A -> Option AQuick Check:
Confusion matrix is [[TN, FP], [FN, TP]]. [OK]
Hint: Confusion matrix is [[TN, FP], [FN, TP]]. [OK]
Common Mistakes:
2.
import numpy as np
def cosine_similarity(a, b):
dot_product = np.dot(a, b)
norm_a = np.linalg.norm(a)
norm_b = np.linalg.norm(b)
return dot_product / (norm_a * norm_b)
vector1 = np.array([1, 2, 3])
vector2 = np.array([4, 5, 6])
result = cosine_similarity(vector1, vector2)
print(result)easy
Solution
Step 1: Calculate dot product and norms
Dot product = 32, norm_a = 3.7416573867739413, norm_b = 8.774964387392123.Step 2: Compute cosine similarity
Cosine similarity = 32 / (3.7416573867739413 * 8.774964387392123) = 0.9746318461970762.Final Answer:
Option A -> Option AQuick Check:
Dot product over product of norms. [OK]
Hint: Dot product over product of norms. [OK]
Common Mistakes:
3. What does the following Python code snippet output when implementing a Gaussian Naive Bayes classifier?
import numpy as np
from sklearn.naive_bayes import GaussianNB
X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([0, 1, 0])
model = GaussianNB()
model.fit(X, y)
print(model.predict([[2, 3]]))easy
Solution
Step 1: Understand GaussianNB prediction
The GaussianNB model predicts the class with the highest posterior probability.Step 2: Calculate probabilities
For input [2, 3], the model calculates probabilities for each class and chooses the one with the highest probability.Final Answer:
Option A -> Option AQuick Check:
GaussianNB predicts based on highest posterior probability. [OK]
Hint: GaussianNB predicts based on highest posterior probability. [OK]
Common Mistakes:
4.
import numpy as np
def euclidean_distance(a, b):
return np.sqrt(np.sum((a - b) ** 2))
vector1 = np.array([1, 2, 3])
vector2 = np.array([4, 5])
result = euclidean_distance(vector1, vector2)
print(result)medium
Solution
Step 1: Check vector shapes
vector1 has shape (3,), vector2 has shape (2,).Step 2: Identify operation failure
Subtraction fails due to shape mismatch, raising a ValueError.Final Answer:
Option B -> Option BQuick Check:
Shape mismatch leads to ValueError. [OK]
Hint: Shape mismatch leads to ValueError. [OK]
Common Mistakes:
5. In a dataset with highly imbalanced classes, how should you implement train-test split with stratification to ensure robust model evaluation?
medium
Solution
Step 1: Understand stratification in imbalanced datasets
Stratification should focus on maintaining the distribution of the minority class.Step 2: Apply correct strategy
Ensuring stratification based on the minority class helps in capturing its distribution in both sets.Final Answer:
Option A -> Option AQuick Check:
Stratify on minority class for balance. [OK]
Hint: Stratify on minority class for balance. [OK]
Common Mistakes:
