Bird
0
0

Why does scikit-learn's KMeans use the 'k-means++' initialization by default instead of random initialization like scipy's kmeans2?

hard📝 Conceptual Q10 of 15
SciPy - Clustering and Distance
Why does scikit-learn's KMeans use the 'k-means++' initialization by default instead of random initialization like scipy's kmeans2?
ABecause 'k-means++' uses supervised labels to initialize clusters.
BBecause 'k-means++' improves convergence speed and clustering quality.
CBecause scipy's kmeans2 cannot run without random initialization.
DBecause random initialization is not supported in scikit-learn.
Step-by-Step Solution
Solution:
  1. Step 1: Understand initialization methods

    'k-means++' selects initial centers to spread out clusters, improving convergence and results.
  2. Step 2: Compare with random initialization

    Random initialization can lead to poor convergence and local minima; 'k-means++' reduces this risk.
  3. Final Answer:

    Because 'k-means++' improves convergence speed and clustering quality. -> Option B
  4. Quick Check:

    Initialization method benefit = Because 'k-means++' improves convergence speed and clustering quality. [OK]
Quick Trick: 'k-means++' helps clusters converge better [OK]
Common Mistakes:
  • Thinking random init is unsupported in scikit-learn
  • Believing 'k-means++' uses labels
  • Assuming scipy requires random init

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SciPy Quizzes