- Applied Unsupervised Learning with Python
- Benjamin Johnston Aaron Jones Christopher Kruger
- 308字
- 2021-06-11 13:23:57
k-means versus Hierarchical Clustering
Now that we have expanded our understanding of how k-means clustering works, it is important to explore where hierarchical clustering fits into the picture. As mentioned in the linkage criteria section, there is some potential direct overlap when it comes to grouping data points together using centroids. Universal to all of the approaches mentioned so far, is also the use of a distance function to determine similarity. Due to our in-depth exploration in the previous chapter, we have kept using the Euclidean distance, but we understand that any distance function can be used to determine similarity.
In practice, here are some quick highlights for choosing one clustering method over another:
- Hierarchical clustering benefits from not needing to pass in an explicit "k" number of clusters apriori. This means that you can find all the potential clusters and decide which clusters make the most sense after the algorithm has completed.
- k-means clustering benefits from a simplicity perspective – oftentimes, in business use cases, there is a challenge to find methods that can be explained to non-technical audiences but still be accurate enough to generate quality results. k-means can easily fill this niche.
- Hierarchical clustering has more parameters to tweak than k-means clustering when it comes to dealing with abnormally shaped data. While k-means is great at finding discrete clusters, it can falter when it comes to mixed clusters. By tweaking the parameters in hierarchical clustering, you may find better results.
- Vanilla k-means clustering works by instantiating random centroids and finding the closest points to those centroids. If they are randomly instantiated in areas of the feature space that are far away from your data, then it can end up taking quite some time to converge, or it may never even get to that point. Hierarchical clustering is less prone to falling prey to this weakness.
推薦閱讀
- AngularJS入門與進階
- JavaScript+jQuery開發實戰
- RabbitMQ Cookbook
- CoffeeScript Application Development Cookbook
- Web前端應用開發技術
- Scratch3.0趣味編程動手玩:比賽訓練營
- Oracle Data Guard 11gR2 Administration Beginner's Guide
- 算法圖解
- 計算機應用基礎(第二版)
- SQL Server實例教程(2008版)
- 深入理解Java虛擬機:JVM高級特性與最佳實踐
- Mastering VMware vSphere Storage
- FORTRAN程序設計權威指南
- Learning Akka
- Java Web開發系統項目教程