Databricks Certified Machine Learning Associate · Free Practice Question Medium
Question 19
A data scientist has designed a three-class decision tree classifier utilizing Spark MLandcomputed the predictions in a Spark DataFrame, named preds_dt, with the following schema:
prediction DOUBLE, actual DOUBLE.
Which code segment can be used to calculate the accuracy of the model based on the data in preds_dt and assign the result to the accuracy variable?
Choose only ONE best answer.
-
A
None
-
B
- accuracy = MulticlassClassificationEvaluator
- (predictionCol="prediction",
- labelCol="actual", metricName="accuracy")
-
C
- accuracy = RegressionEvaluator
- (predictionCol="prediction", labelCol="actual",
- metricName="accuracy")
-
D
- classification_evaluator =
- MulticlassClassificationEvaluator
- (predictionCol="prediction", labelCol="actual", metricName="accuracy")
- accuracy = classification_evaluator.evaluate(preds_df)
-
E
- accuracy = Summarizer
- (predictionCol="prediction", labelCol="actual",
- metricName="accuracy"
Reveal correct answer
Correct answer: D
Explanation
Correct Answer:
- classification_evaluator = MulticlassClassificationEvaluator(
- predictionCol="prediction",
- labelCol="actual",
- metricName="accuracy"
- )
- accuracy = classification_evaluator.evaluate(preds_df)
Explanation:
Why This Is Correct?
For a multi-class classifier in Spark ML, the
MulticlassClassificationEvaluatoris the correct tool to compute metrics like accuracy.Key steps:
Initialize the evaluator with:
predictionCol="prediction"(model outputs).labelCol="actual"(true labels).metricName="accuracy".
Call
evaluate()on the DataFrame (preds_df).
Example:
- from pyspark.ml.evaluation import MulticlassClassificationEvaluator
- evaluator = MulticlassClassificationEvaluator(
- predictionCol="prediction",
- labelCol="actual",
- metricName="accuracy"
- )
- accuracy = evaluator.evaluate(preds_df) # Returns accuracy as a float
Why Other Options Are Incorrect?
RegressionEvaluator:For regression tasks, not classification.
Summarizer:Does not exist in Spark ML.
Missing
evaluate()call:Just initializing the evaluator doesn’t compute the metric.
Key Takeaway:
For multi-class accuracy in Spark ML:
Use
MulticlassClassificationEvaluator.Ensure column names match your DataFrame schema.
Pro Tip: Other supported metrics include f1, weightedPrecision, and weightedRecall.
Discussion
Think the marked answer is wrong, or have a better explanation? Share it below — comments appear after review.
