Bird
Raised Fist0
ML Pythonml~5 mins

Multi-class classification in ML Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is multi-class classification?
Multi-class classification is a type of machine learning task where the model must choose one label from three or more possible categories for each input.
Click to reveal answer
beginner
Name a common algorithm used for multi-class classification.
Logistic regression with softmax, decision trees, random forests, and neural networks are common algorithms used for multi-class classification.
Click to reveal answer
intermediate
What is the role of the softmax function in multi-class classification?
Softmax converts raw model outputs (logits) into probabilities that sum to 1, helping the model pick the most likely class.
Click to reveal answer
intermediate
How do you evaluate a multi-class classification model?
You can use accuracy, confusion matrix, precision, recall, and F1-score for each class to evaluate performance.
Click to reveal answer
beginner
Why is multi-class classification harder than binary classification?
Because the model must distinguish between more than two classes, making it more complex to learn and predict correctly.
Click to reveal answer
Which function is commonly used to convert model outputs into probabilities in multi-class classification?
AReLU
BSigmoid
CSoftmax
DTanh
In multi-class classification, how many classes can the model predict?
AOnly two classes
BThree or more classes
CExactly three classes
DOnly one class
Which metric gives the overall percentage of correct predictions in multi-class classification?
AAccuracy
BRecall
CPrecision
DLoss
What does a confusion matrix show in multi-class classification?
AThe dataset size
BModel training time
CThe model's architecture
DHow predictions match actual classes
Which of these is NOT a typical algorithm for multi-class classification?
ALinear Regression
BK-Nearest Neighbors
CNeural Networks
DRandom Forest
Explain how the softmax function helps in multi-class classification.
Think about turning raw scores into understandable chances.
You got /3 concepts.
    Describe how you would evaluate a multi-class classification model's performance.
    Consider metrics that show overall and class-specific results.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does multi-class classification mean in machine learning?
      easy
      A. Sorting data into only two groups
      B. Sorting data into three or more groups
      C. Predicting continuous numbers
      D. Clustering data without labels

      Solution

      1. Step 1: Understand classification types

        Binary classification sorts data into two groups, while multi-class sorts into three or more.
      2. Step 2: Match definition to options

        Sorting data into three or more groups correctly states sorting into three or more groups, which matches multi-class classification.
      3. Final Answer:

        Sorting data into three or more groups -> Option B
      4. Quick Check:

        Multi-class = three or more groups [OK]
      Hint: Multi-class means 3+ groups, not just 2 [OK]
      Common Mistakes:
      • Confusing multi-class with binary classification
      • Thinking multi-class predicts numbers
      • Mixing classification with clustering
      2. Which of the following is the correct way to specify a multi-class classification model in Python using scikit-learn?
      easy
      A. from sklearn.linear_model import LogisticRegression\nmodel = LogisticRegression(multi_class='multinomial', solver='lbfgs')
      B. from sklearn.linear_model import LogisticRegression\nmodel = LogisticRegression(multi_class='binary')
      C. from sklearn.svm import SVC\nmodel = SVC(kernel='linear', multi_class=true)
      D. from sklearn.tree import DecisionTreeClassifier\nmodel = DecisionTreeClassifier(multi_class='multinomial')

      Solution

      1. Step 1: Check scikit-learn multi-class syntax

        LogisticRegression supports multi_class='multinomial' with solver='lbfgs' for multi-class tasks.
      2. Step 2: Evaluate each option

        from sklearn.linear_model import LogisticRegression\nmodel = LogisticRegression(multi_class='multinomial', solver='lbfgs') uses correct parameters. from sklearn.linear_model import LogisticRegression\nmodel = LogisticRegression(multi_class='binary') wrongly uses 'binary'. from sklearn.svm import SVC\nmodel = SVC(kernel='linear', multi_class=true)'s SVC does not have multi_class parameter. from sklearn.tree import DecisionTreeClassifier\nmodel = DecisionTreeClassifier(multi_class='multinomial')'s DecisionTreeClassifier does not accept multi_class parameter.
      3. Final Answer:

        from sklearn.linear_model import LogisticRegression model = LogisticRegression(multi_class='multinomial', solver='lbfgs') -> Option A
      4. Quick Check:

        LogisticRegression multi_class='multinomial' is correct [OK]
      Hint: Use multi_class='multinomial' with LogisticRegression [OK]
      Common Mistakes:
      • Using multi_class='binary' for multi-class tasks
      • Passing multi_class to models that don't accept it
      • Forgetting to set solver='lbfgs' with multinomial
      3. Given the following code, what will be the shape of the predicted output array?
      from sklearn.datasets import load_iris
      from sklearn.linear_model import LogisticRegression
      
      iris = load_iris()
      X, y = iris.data, iris.target
      model = LogisticRegression(multi_class='multinomial', solver='lbfgs', max_iter=200)
      model.fit(X, y)
      predictions = model.predict(X)
      medium
      A. (3, 150)
      B. (150, 3)
      C. (150,)
      D. (150, 1)

      Solution

      1. Step 1: Understand predict output shape

        For multi-class classification, predict returns a 1D array of class labels, one per sample.
      2. Step 2: Check input data size

        iris dataset has 150 samples, so predictions shape is (150,)
      3. Final Answer:

        (150,) -> Option C
      4. Quick Check:

        Predict output shape = (number of samples,) [OK]
      Hint: Predict returns 1D array of labels, length = number of samples [OK]
      Common Mistakes:
      • Expecting predict to return probabilities shape
      • Confusing predict with predict_proba output
      • Assuming output is 2D array always
      4. You trained a multi-class classifier but it throws this error: ValueError: Unknown label type: 'continuous'. What is the most likely cause?
      medium
      A. The training data has too few samples
      B. The model does not support multi-class classification
      C. The input features have missing values
      D. The target labels are continuous numbers instead of discrete classes

      Solution

      1. Step 1: Analyze error message

        ValueError about 'continuous' label type means labels are not discrete classes but continuous numbers.
      2. Step 2: Match cause to options

        The target labels are continuous numbers instead of discrete classes correctly identifies continuous labels as cause. Other options do not relate to label type error.
      3. Final Answer:

        The target labels are continuous numbers instead of discrete classes -> Option D
      4. Quick Check:

        Continuous labels cause 'Unknown label type' error [OK]
      Hint: Check if labels are discrete classes, not continuous numbers [OK]
      Common Mistakes:
      • Ignoring label type and focusing on features
      • Assuming model limitation causes this error
      • Not verifying label data format
      5. You want to improve a multi-class classification model's performance on an imbalanced dataset with 5 classes. Which approach is best to try first?
      hard
      A. Use class weights to give more importance to minority classes during training
      B. Reduce the number of classes to 2 by merging some classes
      C. Increase the learning rate to speed up training
      D. Remove samples from majority classes to balance dataset

      Solution

      1. Step 1: Understand imbalance problem

        Imbalanced classes cause model to favor majority classes, hurting minority class accuracy.
      2. Step 2: Evaluate options for imbalance handling

        Using class weights (Use class weights to give more importance to minority classes during training) helps model focus on minority classes without losing data. Reducing classes (B) changes problem scope. Increasing learning rate (A) may harm training. Removing samples (D) loses valuable data.
      3. Final Answer:

        Use class weights to give more importance to minority classes during training -> Option A
      4. Quick Check:

        Class weights help handle imbalance best [OK]
      Hint: Apply class weights to balance learning on imbalanced classes [OK]
      Common Mistakes:
      • Merging classes loses important distinctions
      • Increasing learning rate can cause unstable training
      • Removing data wastes valuable information